@mui/x-date-pickers-pro 6.0.0-beta.0 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +107 -3
  2. package/DateRangeCalendar/DateRangeCalendar.js +2 -2
  3. package/DateRangePicker/DateRangePickerToolbar.js +1 -0
  4. package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
  5. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
  6. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
  7. package/index.js +1 -1
  8. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  9. package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
  10. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -10
  11. package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
  12. package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  13. package/internal/utils/releaseInfo.js +1 -1
  14. package/legacy/DateRangeCalendar/DateRangeCalendar.js +2 -2
  15. package/legacy/DateRangePicker/DateRangePickerToolbar.js +1 -0
  16. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
  17. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
  18. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
  19. package/legacy/index.js +1 -1
  20. package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  21. package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -10
  22. package/legacy/internal/utils/releaseInfo.js +1 -1
  23. package/modern/DateRangeCalendar/DateRangeCalendar.js +2 -2
  24. package/modern/DateRangePicker/DateRangePickerToolbar.js +1 -0
  25. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
  26. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
  27. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
  28. package/modern/index.js +1 -1
  29. package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  30. package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -9
  31. package/modern/internal/utils/releaseInfo.js +1 -1
  32. package/node/DateRangeCalendar/DateRangeCalendar.js +2 -2
  33. package/node/DateRangePicker/DateRangePickerToolbar.js +1 -0
  34. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
  35. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
  36. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
  37. package/node/index.js +1 -1
  38. package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
  39. package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +32 -8
  40. package/node/internal/utils/releaseInfo.js +1 -1
  41. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,72 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.0.0-beta.1
7
+
8
+ _Jan 27, 2023_
9
+
10
+ We'd like to offer a big thanks to the 17 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🚀 New shortcuts component for the date pickers (#7154) @alexfauquette
13
+ - 🌍 Add Belarusian (be-BY), Czech (cs-CZ) and Russian (ru-RU) locales
14
+ - 🌍 Improve Spanish (es-ES), Japanese (ja-JP), Slovak (sk-SK), and Vietnamese (vi-VN) locales
15
+ - ✨ New codemods for migrating to v6
16
+ - 📚 Documentation improvements
17
+ - 🐞 Bug fixes
18
+
19
+ ### `@mui/x-data-grid@v6.0.0-beta.1` / `@mui/x-data-grid-pro@v6.0.0-beta.1` / `@mui/x-data-grid-premium@v6.0.0-beta.1`
20
+
21
+ #### Changes
22
+
23
+ - [DataGrid] Add `title` attribute to cells (#7682) @thupi
24
+ - [DataGrid] Fix `autoHeight` not working properly inside of a flex container (#7701) @cherniavskii
25
+ - [DataGrid] Fix grid state not being updated after print preview is closed (#7642) @cherniavskii
26
+ - [DataGrid] Fix non-hideable columns visibility toggling (#7637) @cherniavskii
27
+ - [DataGrid] Fix scrolling on resize for data grids inside shadow root (#7298) @akiradev
28
+ - [l10n] Add Slovak (sk-SK) translation for aggregation functions (#7702) @msidlo
29
+ - [l10n] Add missing core locales for `MuiTablePagination` (#7717) @MBilalShafi
30
+ - [l10n] Improve Spanish (es-ES) and Vietnamese (vi-VN) locale (#7634) @WiXSL and @SpacerZ
31
+ - [l10n] Add Belarusian (be-BY) locale (#7646) @volhalink
32
+
33
+ ### `@mui/x-date-pickers@v6.0.0-beta.1` / `@mui/x-date-pickers-pro@v6.0.0-beta.1`
34
+
35
+ #### Changes
36
+
37
+ - [pickers] Fix `aria-labelledby` assignment to dialog (#7608) @LukasTy
38
+ - [pickers] Support `UTC` with `dayjs` (#7610) @flaviendelangle
39
+ - [pickers] Update focus when opening a UI view (#7620) @alexfauquette
40
+ - [DateRangePickers] Add shortcuts component (#7154) @alexfauquette
41
+ - [l10n] Add Czech (cs-CZ) locale (#7645) @OndrejHj04
42
+ - [l10n] Add Russian (ru-RU) locale (#7706) @rstmzh
43
+ - [l10n] Improve Japanese (ja-JP) locale (#7624) @makoto14
44
+
45
+ ### `@mui/x-codemod@v6.0.0-beta.1`
46
+
47
+ #### Changes
48
+
49
+ - [codemod] Add pickers `replace-toolbar-props-by-slot` codemod (#7687) @alexfauquette
50
+ - [codemod] Add `GridColumnMenuItemProps` to `column-menu-components-rename` codemod (#7710) @MBilalShafi
51
+ - [codemod] Add `headerHeight` prop update to `row-selection-props-rename` codemod (#7711) @MBilalShafi
52
+ - [codemod] Add pickers codemod for `components` to `slots` renaming (#7533) @alexfauquette
53
+ - [codemod] Add pickers `migrate-to-components-componentsProps` and `replace-arrows-button-slot` codemods (#7698) @alexfauquette
54
+ - [codemod] Add data grid codemod renaming `rowsPerPageOptions` prop to `pageSizeOptions` (#7603) @MBilalShafi
55
+ - [codemod] Add pickers `rename-should-disable-time` codemod (#7709) @alexfauquette
56
+ - [codemod] Add data grid `row-selection-props-rename` codemod (#7485) @MBilalShafi
57
+ - [codemod] Add data grid `rename-selectors-and-events` codemod (#7699) @MBilalShafi
58
+ - [codemod] Add pickers `replace-tabs-props` codemod (#7639) @alexfauquette
59
+
60
+ ### Docs
61
+
62
+ - [docs] Add info callout about available component `slots` (#7714) @Vivek-Prajapatii
63
+ - [docs] Add recipe for pinning grouped column (#7712) @MBilalShafi
64
+ - [docs] Fix 404 links to picker API page @oliviertassinari
65
+ - [docs] Update `DemoContainer` `components` prop using a codemod (#7574) @alexfauquette
66
+
67
+ ### Core
68
+
69
+ - [core] Fix `innerslotProps` typo (#7697) @LukasTy
70
+ - [core] Upgrade monorepo (#7676) @cherniavskii
71
+
6
72
  ## 6.0.0-beta.0
7
73
 
8
74
  _Jan 19, 2023_
@@ -342,7 +408,7 @@ We'd like to offer a big thanks to the 9 contributors who made this release poss
342
408
  ```diff
343
409
  <DateTimePicker
344
410
  - shouldDisableTime={(timeValue, view) => view === 'hours' && timeValue < 12}
345
- + shouldDisableTime={(time, view) => view === 'hours' && value.hour() < 12}
411
+ + shouldDisableTime={(value, view) => view === 'hours' && value.hour() < 12}
346
412
  />
347
413
  ```
348
414
 
@@ -1426,7 +1492,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
1426
1492
  // TimePicker, MobileTimePicker, DateRangePicker and MobileDateRangePicker.
1427
1493
  <DatePicker
1428
1494
  - DialogProps={{ backgroundColor: 'red' }}
1429
- + componentsProps={{ dialog: { backgroundColor: 'red }}}
1495
+ + componentsProps={{ dialog: { backgroundColor: 'red' }}}
1430
1496
  />
1431
1497
  ```
1432
1498
 
@@ -1437,7 +1503,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
1437
1503
  // TimePicker, DesktopTimePicker, DateRangePicker and DesktopDateRangePicker.
1438
1504
  <DatePicker
1439
1505
  - PaperProps={{ backgroundColor: 'red' }}
1440
- + componentsProps={{ desktopPaper: { backgroundColor: 'red }}}
1506
+ + componentsProps={{ desktopPaper: { backgroundColor: 'red' }}}
1441
1507
  />
1442
1508
  ```
1443
1509
 
@@ -1956,6 +2022,44 @@ You can find more information about the new api, including how to set those tran
1956
2022
  - [test] Skip tests for column pinning and dynamic row height (#5997) @m4theushw
1957
2023
  - [website] Improve security header @oliviertassinari
1958
2024
 
2025
+ ## v5.17.21
2026
+
2027
+ _Jan 27, 2023_
2028
+
2029
+ We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
2030
+
2031
+ - 🌍 Add Belarusian (be-BY), Czech (cs-CZ), and Russian (ru-RU) locales
2032
+ - 🌍 Improve Slovak (sk-SK), Japanese (ja-JP), Vietnamese (vi-VN), and Spanish (es-ES) locales
2033
+ - 🐞 Bugfixes
2034
+
2035
+ ### `@mui/x-data-grid@v5.17.21` / `@mui/x-data-grid-pro@v5.17.21` / `@mui/x-data-grid-premium@v5.17.21`
2036
+
2037
+ #### Changes
2038
+
2039
+ - [DataGrid] Add `title` attribute to cells (#7695) @thupi
2040
+ - [DataGrid] Fix grid state not being updated after print preview is closed (#7680) @cherniavskii
2041
+ - [DataGrid] Fix non-hideable columns visibility toggling (#7716) @cherniavskii
2042
+ - [DataGrid] Fix scrolling on resize for data grids inside shadow root (#7722) @cherniavskii
2043
+ - [DataGridPremium] Create aggregation footer row with `isAutoGenerated: true` (#7681) @m4theushw
2044
+ - [l10n] Add Belarusian (be-BY) locale (#7718) @volhalink
2045
+ - [l10n] Add Slovak (sk-SK) translation for aggregation functions (#7690) @msidlo
2046
+ - [l10n] Add missing core locales for `MuiTablePagination` (#7719) @MBilalShafi
2047
+ - [l10n] Improve Japanese (ja-JP) locale (#7627) @makoto14
2048
+ - [l10n] Improve Vietnamese (vi-VN) locale (#7601) @SpacerZ
2049
+
2050
+ ### `@mui/x-date-pickers@v5.0.16` / `@mui/x-date-pickers-pro@v5.0.16`
2051
+
2052
+ #### Changes
2053
+
2054
+ - [pickers] Add missing components to `themeAugmentation` (#7677) @LukasTy
2055
+ - [l10n] Add Czech (cs-CZ) locale (#7666) @OndrejHj04
2056
+ - [l10n] Add Russian (ru-RU) locale (#7708) @rstmzh
2057
+ - [l10n] Improve Spanish (es-ES) locale (#7614) @WiXSL
2058
+
2059
+ ### Docs
2060
+
2061
+ - [docs] Add info callout about available component `slots` (#7723) @Vivek-Prajapatii
2062
+
1959
2063
  ## 5.17.20
1960
2064
 
1961
2065
  _Jan 19, 2023_
@@ -133,7 +133,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
133
133
  components,
134
134
  componentsProps,
135
135
  slots: innerSlots,
136
- slotProps: innerslotProps,
136
+ slotProps: innerSlotProps,
137
137
  loading,
138
138
  renderLoading,
139
139
  disableHighlightToday,
@@ -149,7 +149,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
149
149
  } = props,
150
150
  other = _objectWithoutPropertiesLoose(props, _excluded);
151
151
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
152
- const slotProps = innerslotProps != null ? innerslotProps : componentsProps;
152
+ const slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
153
153
  const [value, setValue] = useControlled({
154
154
  controlled: valueProp,
155
155
  default: defaultValue != null ? defaultValue : rangeValueManager.emptyValue,
@@ -101,6 +101,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
101
101
  onRangePositionChange: PropTypes.func.isRequired,
102
102
  rangePosition: PropTypes.oneOf(['end', 'start']).isRequired,
103
103
  readOnly: PropTypes.bool,
104
+ titleId: PropTypes.string,
104
105
  /**
105
106
  * Toolbar date format.
106
107
  */
@@ -42,7 +42,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
42
42
  });
43
43
  const {
44
44
  slots: innerSlots,
45
- slotProps: innerslotProps,
45
+ slotProps: innerSlotProps,
46
46
  components,
47
47
  componentsProps,
48
48
  value,
@@ -63,7 +63,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
63
63
  } = themeProps,
64
64
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
65
65
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
66
- const slotProps = innerslotProps != null ? innerslotProps : componentsProps;
66
+ const slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
67
67
  const ownerState = themeProps;
68
68
  const Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateRangeFieldRoot;
69
69
  const rootProps = useSlotProps({
@@ -42,7 +42,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
42
42
  });
43
43
  const {
44
44
  slots: innerSlots,
45
- slotProps: innerslotProps,
45
+ slotProps: innerSlotProps,
46
46
  components,
47
47
  componentsProps,
48
48
  value,
@@ -69,7 +69,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
69
69
  } = themeProps,
70
70
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
71
71
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
72
- const slotProps = innerslotProps != null ? innerslotProps : componentsProps;
72
+ const slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
73
73
  const ownerState = themeProps;
74
74
  const Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateTimeRangeFieldRoot;
75
75
  const rootProps = useSlotProps({
@@ -42,7 +42,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
42
42
  });
43
43
  const {
44
44
  slots: innerSlots,
45
- slotProps: innerslotProps,
45
+ slotProps: innerSlotProps,
46
46
  components,
47
47
  componentsProps,
48
48
  value,
@@ -64,7 +64,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
64
64
  } = themeProps,
65
65
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
66
66
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
67
- const slotProps = innerslotProps != null ? innerslotProps : componentsProps;
67
+ const slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
68
68
  const ownerState = themeProps;
69
69
  const Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputTimeRangeFieldRoot;
70
70
  const rootProps = useSlotProps({
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v6.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -19,7 +19,7 @@ export const useDesktopRangePicker = ({
19
19
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
20
20
  const {
21
21
  slots: innerSlots,
22
- slotProps: innerslotProps,
22
+ slotProps: innerSlotProps,
23
23
  components,
24
24
  componentsProps,
25
25
  className,
@@ -32,7 +32,7 @@ export const useDesktopRangePicker = ({
32
32
  localeText
33
33
  } = props;
34
34
  const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
35
- const slotProps = innerslotProps != null ? innerslotProps : componentsProps;
35
+ const slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
36
36
  const fieldRef = React.useRef(null);
37
37
  const popperRef = React.useRef(null);
38
38
  const [rangePosition, setRangePosition] = React.useState('start');
@@ -7,7 +7,7 @@ import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponen
7
7
  import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
8
8
  import { DateRange, RangePositionProps } from '../../models';
9
9
  import { BaseMultiInputFieldProps } from '../../models/fields';
10
- export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends PickersPopperSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TView> {
10
+ export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends Pick<PickersPopperSlotsComponent, 'DesktopPaper' | 'DesktopTransition' | 'DesktopTrapFocus' | 'Popper'>, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
11
11
  Field: React.ElementType;
12
12
  FieldRoot?: React.ElementType<StackProps>;
13
13
  FieldSeparator?: React.ElementType<TypographyProps>;
@@ -19,7 +19,7 @@ export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOr
19
19
  */
20
20
  TextField?: React.ElementType<TextFieldProps>;
21
21
  }
22
- export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TView> {
22
+ export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
23
23
  field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
24
24
  fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
25
25
  fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
@@ -4,7 +4,8 @@ import { resolveComponentProps, useSlotProps } from '@mui/base/utils';
4
4
  import { useLicenseVerifier } from '@mui/x-license-pro';
5
5
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
6
6
  import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
7
- import { usePicker, WrapperVariantContext, PickersModalDialog } from '@mui/x-date-pickers/internals';
7
+ import { usePicker, WrapperVariantContext, PickersModalDialog, useLocaleText } from '@mui/x-date-pickers/internals';
8
+ import useId from '@mui/utils/useId';
8
9
  import { useRangePickerInputProps } from '../useRangePickerInputProps';
9
10
  import { getReleaseInfo } from '../../utils/releaseInfo';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -15,11 +16,11 @@ export const useMobileRangePicker = ({
15
16
  valueManager,
16
17
  validator
17
18
  }) => {
18
- var _slots$layout;
19
+ var _innerSlotProps$toolb, _innerSlotProps$toolb2, _slots$layout;
19
20
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
20
21
  const {
21
22
  slots,
22
- slotProps,
23
+ slotProps: innerSlotProps,
23
24
  className,
24
25
  sx,
25
26
  format,
@@ -29,6 +30,8 @@ export const useMobileRangePicker = ({
29
30
  localeText
30
31
  } = props;
31
32
  const [rangePosition, setRangePosition] = React.useState('start');
33
+ const labelId = useId();
34
+ const contextLocaleText = useLocaleText();
32
35
  const {
33
36
  open,
34
37
  actions,
@@ -60,7 +63,7 @@ export const useMobileRangePicker = ({
60
63
  const Field = slots.field;
61
64
  const fieldProps = useSlotProps({
62
65
  elementType: Field,
63
- externalSlotProps: slotProps == null ? void 0 : slotProps.field,
66
+ externalSlotProps: innerSlotProps == null ? void 0 : innerSlotProps.field,
64
67
  additionalProps: _extends({}, pickerFieldProps, {
65
68
  readOnly: readOnly != null ? readOnly : true,
66
69
  disabled,
@@ -73,36 +76,57 @@ export const useMobileRangePicker = ({
73
76
  const slotsForField = _extends({
74
77
  textField: slots.textField
75
78
  }, fieldProps.slots);
79
+ const isToolbarHidden = (_innerSlotProps$toolb = innerSlotProps == null ? void 0 : (_innerSlotProps$toolb2 = innerSlotProps.toolbar) == null ? void 0 : _innerSlotProps$toolb2.hidden) != null ? _innerSlotProps$toolb : false;
76
80
  const slotPropsForField = _extends({}, fieldProps.slotProps, {
77
81
  textField: ownerState => {
78
82
  var _fieldProps$slotProps;
79
- const externalInputProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.textField, ownerState);
83
+ const externalInputProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.textField, ownerState);
80
84
  const inputPropsPassedByField = resolveComponentProps((_fieldProps$slotProps = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps.textField, ownerState);
81
85
  const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput;
82
- return _extends({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
86
+ return _extends({}, isToolbarHidden && {
87
+ id: `${labelId}-${ownerState.position}`
88
+ }, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
83
89
  inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps)
84
90
  });
85
91
  },
86
92
  root: ownerState => {
87
93
  var _fieldProps$slotProps2;
88
- const externalRootProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.fieldRoot, ownerState);
94
+ const externalRootProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.fieldRoot, ownerState);
89
95
  const rootPropsPassedByField = resolveComponentProps((_fieldProps$slotProps2 = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps2.root, ownerState);
90
96
  return _extends({}, externalRootProps, rootPropsPassedByField, fieldSlotProps.root);
91
97
  },
92
98
  separator: ownerState => {
93
99
  var _fieldProps$slotProps3;
94
- const externalSeparatorProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.fieldSeparator, ownerState);
100
+ const externalSeparatorProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.fieldSeparator, ownerState);
95
101
  const separatorPropsPassedByField = resolveComponentProps((_fieldProps$slotProps3 = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps3.separator, ownerState);
96
102
  return _extends({}, externalSeparatorProps, separatorPropsPassedByField, fieldSlotProps.root);
97
103
  }
98
104
  });
99
- const slotPropsForLayout = _extends({}, slotProps, {
100
- toolbar: _extends({}, slotProps == null ? void 0 : slotProps.toolbar, {
105
+ const slotPropsForLayout = _extends({}, innerSlotProps, {
106
+ toolbar: _extends({}, innerSlotProps == null ? void 0 : innerSlotProps.toolbar, {
107
+ titleId: labelId,
101
108
  rangePosition,
102
109
  onRangePositionChange: setRangePosition
103
110
  })
104
111
  });
105
112
  const Layout = (_slots$layout = slots == null ? void 0 : slots.layout) != null ? _slots$layout : PickersLayout;
113
+ const finalLocaleText = _extends({}, contextLocaleText, localeText);
114
+ let labelledById = labelId;
115
+ if (isToolbarHidden) {
116
+ const labels = [];
117
+ if (finalLocaleText.start) {
118
+ labels.push(`${labelId}-start-label`);
119
+ }
120
+ if (finalLocaleText.end) {
121
+ labels.push(`${labelId}-end-label`);
122
+ }
123
+ labelledById = labels.length > 0 ? labels.join(' ') : undefined;
124
+ }
125
+ const slotProps = _extends({}, innerSlotProps, {
126
+ mobilePaper: _extends({
127
+ 'aria-labelledby': labelledById
128
+ }, innerSlotProps == null ? void 0 : innerSlotProps.mobilePaper)
129
+ });
106
130
  const renderPicker = () => /*#__PURE__*/_jsx(LocalizationProvider, {
107
131
  localeText: localeText,
108
132
  children: /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
@@ -7,7 +7,7 @@ import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponen
7
7
  import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
8
8
  import { DateRange, RangePositionProps } from '../../models';
9
9
  import { BaseMultiInputFieldProps } from '../../models/fields';
10
- export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TView> {
10
+ export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
11
11
  Field: React.ElementType;
12
12
  FieldRoot?: React.ElementType<StackProps>;
13
13
  FieldSeparator?: React.ElementType<TypographyProps>;
@@ -18,7 +18,7 @@ export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrT
18
18
  */
19
19
  TextField?: React.ElementType<TextFieldProps>;
20
20
  }
21
- export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TView> {
21
+ export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
22
22
  field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
23
23
  fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
24
24
  fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout/PickersLayout.types';
3
3
  import { DateOrTimeView, BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps, UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
4
4
  import { DateRange } from '../../models/range';
5
- export interface UseStaticRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TView> {
5
+ export interface UseStaticRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
6
6
  }
7
- export interface UseStaticRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TView> {
7
+ export interface UseStaticRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
8
8
  toolbar?: ExportedBaseToolbarProps;
9
9
  }
10
10
  export interface StaticRangeOnlyPickerProps extends StaticOnlyPickerProps {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY3NDE2OTIwMDAwMA==";
3
+ const releaseInfo = "MTY3NDc1OTYwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -136,7 +136,7 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
136
136
  components = props.components,
137
137
  componentsProps = props.componentsProps,
138
138
  innerSlots = props.slots,
139
- innerslotProps = props.slotProps,
139
+ innerSlotProps = props.slotProps,
140
140
  loading = props.loading,
141
141
  renderLoading = props.renderLoading,
142
142
  disableHighlightToday = props.disableHighlightToday,
@@ -151,7 +151,7 @@ var DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalendar
151
151
  displayWeekNumber = props.displayWeekNumber,
152
152
  other = _objectWithoutProperties(props, _excluded);
153
153
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
154
- var slotProps = innerslotProps != null ? innerslotProps : componentsProps;
154
+ var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
155
155
  var _useControlled = useControlled({
156
156
  controlled: valueProp,
157
157
  default: defaultValue != null ? defaultValue : rangeValueManager.emptyValue,
@@ -107,6 +107,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
107
107
  onRangePositionChange: PropTypes.func.isRequired,
108
108
  rangePosition: PropTypes.oneOf(['end', 'start']).isRequired,
109
109
  readOnly: PropTypes.bool,
110
+ titleId: PropTypes.string,
110
111
  /**
111
112
  * Toolbar date format.
112
113
  */
@@ -47,7 +47,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
47
47
  name: 'MuiMultiInputDateRangeField'
48
48
  });
49
49
  var innerSlots = themeProps.slots,
50
- innerslotProps = themeProps.slotProps,
50
+ innerSlotProps = themeProps.slotProps,
51
51
  components = themeProps.components,
52
52
  componentsProps = themeProps.componentsProps,
53
53
  value = themeProps.value,
@@ -67,7 +67,7 @@ var MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
67
67
  autoFocus = themeProps.autoFocus,
68
68
  other = _objectWithoutProperties(themeProps, _excluded);
69
69
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
70
- var slotProps = innerslotProps != null ? innerslotProps : componentsProps;
70
+ var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
71
71
  var ownerState = themeProps;
72
72
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateRangeFieldRoot;
73
73
  var rootProps = useSlotProps({
@@ -47,7 +47,7 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
47
47
  name: 'MuiMultiInputDateTimeRangeField'
48
48
  });
49
49
  var innerSlots = themeProps.slots,
50
- innerslotProps = themeProps.slotProps,
50
+ innerSlotProps = themeProps.slotProps,
51
51
  components = themeProps.components,
52
52
  componentsProps = themeProps.componentsProps,
53
53
  value = themeProps.value,
@@ -73,7 +73,7 @@ var MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiI
73
73
  onSelectedSectionsChange = themeProps.onSelectedSectionsChange,
74
74
  other = _objectWithoutProperties(themeProps, _excluded);
75
75
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
76
- var slotProps = innerslotProps != null ? innerslotProps : componentsProps;
76
+ var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
77
77
  var ownerState = themeProps;
78
78
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputDateTimeRangeFieldRoot;
79
79
  var rootProps = useSlotProps({
@@ -47,7 +47,7 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
47
47
  name: 'MuiMultiInputTimeRangeField'
48
48
  });
49
49
  var innerSlots = themeProps.slots,
50
- innerslotProps = themeProps.slotProps,
50
+ innerSlotProps = themeProps.slotProps,
51
51
  components = themeProps.components,
52
52
  componentsProps = themeProps.componentsProps,
53
53
  value = themeProps.value,
@@ -68,7 +68,7 @@ var MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInput
68
68
  onSelectedSectionsChange = themeProps.onSelectedSectionsChange,
69
69
  other = _objectWithoutProperties(themeProps, _excluded);
70
70
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
71
- var slotProps = innerslotProps != null ? innerslotProps : componentsProps;
71
+ var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
72
72
  var ownerState = themeProps;
73
73
  var Root = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : MultiInputTimeRangeFieldRoot;
74
74
  var rootProps = useSlotProps({
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v6.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -18,7 +18,7 @@ export var useDesktopRangePicker = function useDesktopRangePicker(_ref) {
18
18
  validator = _ref.validator;
19
19
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
20
20
  var innerSlots = props.slots,
21
- innerslotProps = props.slotProps,
21
+ innerSlotProps = props.slotProps,
22
22
  components = props.components,
23
23
  componentsProps = props.componentsProps,
24
24
  className = props.className,
@@ -30,7 +30,7 @@ export var useDesktopRangePicker = function useDesktopRangePicker(_ref) {
30
30
  disableOpenPicker = props.disableOpenPicker,
31
31
  localeText = props.localeText;
32
32
  var slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
33
- var slotProps = innerslotProps != null ? innerslotProps : componentsProps;
33
+ var slotProps = innerSlotProps != null ? innerSlotProps : componentsProps;
34
34
  var fieldRef = React.useRef(null);
35
35
  var popperRef = React.useRef(null);
36
36
  var _React$useState = React.useState('start'),
@@ -5,20 +5,21 @@ import { resolveComponentProps, useSlotProps } from '@mui/base/utils';
5
5
  import { useLicenseVerifier } from '@mui/x-license-pro';
6
6
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
7
7
  import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
8
- import { usePicker, WrapperVariantContext, PickersModalDialog } from '@mui/x-date-pickers/internals';
8
+ import { usePicker, WrapperVariantContext, PickersModalDialog, useLocaleText } from '@mui/x-date-pickers/internals';
9
+ import useId from '@mui/utils/useId';
9
10
  import { useRangePickerInputProps } from '../useRangePickerInputProps';
10
11
  import { getReleaseInfo } from '../../utils/releaseInfo';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
14
  var releaseInfo = getReleaseInfo();
14
15
  export var useMobileRangePicker = function useMobileRangePicker(_ref) {
15
- var _slots$layout;
16
+ var _innerSlotProps$toolb, _innerSlotProps$toolb2, _slots$layout;
16
17
  var props = _ref.props,
17
18
  valueManager = _ref.valueManager,
18
19
  validator = _ref.validator;
19
20
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
20
21
  var slots = props.slots,
21
- slotProps = props.slotProps,
22
+ innerSlotProps = props.slotProps,
22
23
  className = props.className,
23
24
  sx = props.sx,
24
25
  format = props.format,
@@ -30,6 +31,8 @@ export var useMobileRangePicker = function useMobileRangePicker(_ref) {
30
31
  _React$useState2 = _slicedToArray(_React$useState, 2),
31
32
  rangePosition = _React$useState2[0],
32
33
  setRangePosition = _React$useState2[1];
34
+ var labelId = useId();
35
+ var contextLocaleText = useLocaleText();
33
36
  var _usePicker = usePicker({
34
37
  props: props,
35
38
  valueManager: valueManager,
@@ -60,7 +63,7 @@ export var useMobileRangePicker = function useMobileRangePicker(_ref) {
60
63
  var Field = slots.field;
61
64
  var fieldProps = useSlotProps({
62
65
  elementType: Field,
63
- externalSlotProps: slotProps == null ? void 0 : slotProps.field,
66
+ externalSlotProps: innerSlotProps == null ? void 0 : innerSlotProps.field,
64
67
  additionalProps: _extends({}, pickerFieldProps, {
65
68
  readOnly: readOnly != null ? readOnly : true,
66
69
  disabled: disabled,
@@ -73,36 +76,57 @@ export var useMobileRangePicker = function useMobileRangePicker(_ref) {
73
76
  var slotsForField = _extends({
74
77
  textField: slots.textField
75
78
  }, fieldProps.slots);
79
+ var isToolbarHidden = (_innerSlotProps$toolb = innerSlotProps == null ? void 0 : (_innerSlotProps$toolb2 = innerSlotProps.toolbar) == null ? void 0 : _innerSlotProps$toolb2.hidden) != null ? _innerSlotProps$toolb : false;
76
80
  var slotPropsForField = _extends({}, fieldProps.slotProps, {
77
81
  textField: function textField(ownerState) {
78
82
  var _fieldProps$slotProps;
79
- var externalInputProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.textField, ownerState);
83
+ var externalInputProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.textField, ownerState);
80
84
  var inputPropsPassedByField = resolveComponentProps((_fieldProps$slotProps = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps.textField, ownerState);
81
85
  var inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput;
82
- return _extends({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
86
+ return _extends({}, isToolbarHidden && {
87
+ id: "".concat(labelId, "-").concat(ownerState.position)
88
+ }, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
83
89
  inputProps: _extends({}, externalInputProps == null ? void 0 : externalInputProps.inputProps, inputPropsPassedByField == null ? void 0 : inputPropsPassedByField.inputProps)
84
90
  });
85
91
  },
86
92
  root: function root(ownerState) {
87
93
  var _fieldProps$slotProps2;
88
- var externalRootProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.fieldRoot, ownerState);
94
+ var externalRootProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.fieldRoot, ownerState);
89
95
  var rootPropsPassedByField = resolveComponentProps((_fieldProps$slotProps2 = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps2.root, ownerState);
90
96
  return _extends({}, externalRootProps, rootPropsPassedByField, fieldSlotProps.root);
91
97
  },
92
98
  separator: function separator(ownerState) {
93
99
  var _fieldProps$slotProps3;
94
- var externalSeparatorProps = resolveComponentProps(slotProps == null ? void 0 : slotProps.fieldSeparator, ownerState);
100
+ var externalSeparatorProps = resolveComponentProps(innerSlotProps == null ? void 0 : innerSlotProps.fieldSeparator, ownerState);
95
101
  var separatorPropsPassedByField = resolveComponentProps((_fieldProps$slotProps3 = fieldProps.slotProps) == null ? void 0 : _fieldProps$slotProps3.separator, ownerState);
96
102
  return _extends({}, externalSeparatorProps, separatorPropsPassedByField, fieldSlotProps.root);
97
103
  }
98
104
  });
99
- var slotPropsForLayout = _extends({}, slotProps, {
100
- toolbar: _extends({}, slotProps == null ? void 0 : slotProps.toolbar, {
105
+ var slotPropsForLayout = _extends({}, innerSlotProps, {
106
+ toolbar: _extends({}, innerSlotProps == null ? void 0 : innerSlotProps.toolbar, {
107
+ titleId: labelId,
101
108
  rangePosition: rangePosition,
102
109
  onRangePositionChange: setRangePosition
103
110
  })
104
111
  });
105
112
  var Layout = (_slots$layout = slots == null ? void 0 : slots.layout) != null ? _slots$layout : PickersLayout;
113
+ var finalLocaleText = _extends({}, contextLocaleText, localeText);
114
+ var labelledById = labelId;
115
+ if (isToolbarHidden) {
116
+ var labels = [];
117
+ if (finalLocaleText.start) {
118
+ labels.push("".concat(labelId, "-start-label"));
119
+ }
120
+ if (finalLocaleText.end) {
121
+ labels.push("".concat(labelId, "-end-label"));
122
+ }
123
+ labelledById = labels.length > 0 ? labels.join(' ') : undefined;
124
+ }
125
+ var slotProps = _extends({}, innerSlotProps, {
126
+ mobilePaper: _extends({
127
+ 'aria-labelledby': labelledById
128
+ }, innerSlotProps == null ? void 0 : innerSlotProps.mobilePaper)
129
+ });
106
130
  var renderPicker = function renderPicker() {
107
131
  return /*#__PURE__*/_jsx(LocalizationProvider, {
108
132
  localeText: localeText,
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export var getReleaseInfo = function getReleaseInfo() {
3
- var releaseInfo = "MTY3NDE2OTIwMDAwMA==";
3
+ var releaseInfo = "MTY3NDc1OTYwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -132,7 +132,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
132
132
  components,
133
133
  componentsProps,
134
134
  slots: innerSlots,
135
- slotProps: innerslotProps,
135
+ slotProps: innerSlotProps,
136
136
  loading,
137
137
  renderLoading,
138
138
  disableHighlightToday,
@@ -148,7 +148,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
148
148
  } = props,
149
149
  other = _objectWithoutPropertiesLoose(props, _excluded);
150
150
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
151
- const slotProps = innerslotProps ?? componentsProps;
151
+ const slotProps = innerSlotProps ?? componentsProps;
152
152
  const [value, setValue] = useControlled({
153
153
  controlled: valueProp,
154
154
  default: defaultValue ?? rangeValueManager.emptyValue,
@@ -101,6 +101,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
101
101
  onRangePositionChange: PropTypes.func.isRequired,
102
102
  rangePosition: PropTypes.oneOf(['end', 'start']).isRequired,
103
103
  readOnly: PropTypes.bool,
104
+ titleId: PropTypes.string,
104
105
  /**
105
106
  * Toolbar date format.
106
107
  */
@@ -38,7 +38,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
38
38
  });
39
39
  const {
40
40
  slots: innerSlots,
41
- slotProps: innerslotProps,
41
+ slotProps: innerSlotProps,
42
42
  components,
43
43
  componentsProps,
44
44
  value,
@@ -59,7 +59,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
59
59
  } = themeProps,
60
60
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
61
61
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
62
- const slotProps = innerslotProps ?? componentsProps;
62
+ const slotProps = innerSlotProps ?? componentsProps;
63
63
  const ownerState = themeProps;
64
64
  const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
65
65
  const rootProps = useSlotProps({
@@ -38,7 +38,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
38
38
  });
39
39
  const {
40
40
  slots: innerSlots,
41
- slotProps: innerslotProps,
41
+ slotProps: innerSlotProps,
42
42
  components,
43
43
  componentsProps,
44
44
  value,
@@ -65,7 +65,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
65
65
  } = themeProps,
66
66
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
67
67
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
68
- const slotProps = innerslotProps ?? componentsProps;
68
+ const slotProps = innerSlotProps ?? componentsProps;
69
69
  const ownerState = themeProps;
70
70
  const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
71
71
  const rootProps = useSlotProps({
@@ -38,7 +38,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
38
38
  });
39
39
  const {
40
40
  slots: innerSlots,
41
- slotProps: innerslotProps,
41
+ slotProps: innerSlotProps,
42
42
  components,
43
43
  componentsProps,
44
44
  value,
@@ -60,7 +60,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
60
60
  } = themeProps,
61
61
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
62
62
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
63
- const slotProps = innerslotProps ?? componentsProps;
63
+ const slotProps = innerSlotProps ?? componentsProps;
64
64
  const ownerState = themeProps;
65
65
  const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
66
66
  const rootProps = useSlotProps({
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v6.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -18,7 +18,7 @@ export const useDesktopRangePicker = ({
18
18
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
19
19
  const {
20
20
  slots: innerSlots,
21
- slotProps: innerslotProps,
21
+ slotProps: innerSlotProps,
22
22
  components,
23
23
  componentsProps,
24
24
  className,
@@ -31,7 +31,7 @@ export const useDesktopRangePicker = ({
31
31
  localeText
32
32
  } = props;
33
33
  const slots = innerSlots ?? uncapitalizeObjectKeys(components);
34
- const slotProps = innerslotProps ?? componentsProps;
34
+ const slotProps = innerSlotProps ?? componentsProps;
35
35
  const fieldRef = React.useRef(null);
36
36
  const popperRef = React.useRef(null);
37
37
  const [rangePosition, setRangePosition] = React.useState('start');
@@ -4,7 +4,8 @@ import { resolveComponentProps, useSlotProps } from '@mui/base/utils';
4
4
  import { useLicenseVerifier } from '@mui/x-license-pro';
5
5
  import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
6
6
  import { PickersLayout } from '@mui/x-date-pickers/PickersLayout';
7
- import { usePicker, WrapperVariantContext, PickersModalDialog } from '@mui/x-date-pickers/internals';
7
+ import { usePicker, WrapperVariantContext, PickersModalDialog, useLocaleText } from '@mui/x-date-pickers/internals';
8
+ import useId from '@mui/utils/useId';
8
9
  import { useRangePickerInputProps } from '../useRangePickerInputProps';
9
10
  import { getReleaseInfo } from '../../utils/releaseInfo';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -18,7 +19,7 @@ export const useMobileRangePicker = ({
18
19
  useLicenseVerifier('x-date-pickers-pro', releaseInfo);
19
20
  const {
20
21
  slots,
21
- slotProps,
22
+ slotProps: innerSlotProps,
22
23
  className,
23
24
  sx,
24
25
  format,
@@ -28,6 +29,8 @@ export const useMobileRangePicker = ({
28
29
  localeText
29
30
  } = props;
30
31
  const [rangePosition, setRangePosition] = React.useState('start');
32
+ const labelId = useId();
33
+ const contextLocaleText = useLocaleText();
31
34
  const {
32
35
  open,
33
36
  actions,
@@ -59,7 +62,7 @@ export const useMobileRangePicker = ({
59
62
  const Field = slots.field;
60
63
  const fieldProps = useSlotProps({
61
64
  elementType: Field,
62
- externalSlotProps: slotProps?.field,
65
+ externalSlotProps: innerSlotProps?.field,
63
66
  additionalProps: _extends({}, pickerFieldProps, {
64
67
  readOnly: readOnly ?? true,
65
68
  disabled,
@@ -72,33 +75,54 @@ export const useMobileRangePicker = ({
72
75
  const slotsForField = _extends({
73
76
  textField: slots.textField
74
77
  }, fieldProps.slots);
78
+ const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
75
79
  const slotPropsForField = _extends({}, fieldProps.slotProps, {
76
80
  textField: ownerState => {
77
- const externalInputProps = resolveComponentProps(slotProps?.textField, ownerState);
81
+ const externalInputProps = resolveComponentProps(innerSlotProps?.textField, ownerState);
78
82
  const inputPropsPassedByField = resolveComponentProps(fieldProps.slotProps?.textField, ownerState);
79
83
  const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput;
80
- return _extends({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
84
+ return _extends({}, isToolbarHidden && {
85
+ id: `${labelId}-${ownerState.position}`
86
+ }, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
81
87
  inputProps: _extends({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps)
82
88
  });
83
89
  },
84
90
  root: ownerState => {
85
- const externalRootProps = resolveComponentProps(slotProps?.fieldRoot, ownerState);
91
+ const externalRootProps = resolveComponentProps(innerSlotProps?.fieldRoot, ownerState);
86
92
  const rootPropsPassedByField = resolveComponentProps(fieldProps.slotProps?.root, ownerState);
87
93
  return _extends({}, externalRootProps, rootPropsPassedByField, fieldSlotProps.root);
88
94
  },
89
95
  separator: ownerState => {
90
- const externalSeparatorProps = resolveComponentProps(slotProps?.fieldSeparator, ownerState);
96
+ const externalSeparatorProps = resolveComponentProps(innerSlotProps?.fieldSeparator, ownerState);
91
97
  const separatorPropsPassedByField = resolveComponentProps(fieldProps.slotProps?.separator, ownerState);
92
98
  return _extends({}, externalSeparatorProps, separatorPropsPassedByField, fieldSlotProps.root);
93
99
  }
94
100
  });
95
- const slotPropsForLayout = _extends({}, slotProps, {
96
- toolbar: _extends({}, slotProps?.toolbar, {
101
+ const slotPropsForLayout = _extends({}, innerSlotProps, {
102
+ toolbar: _extends({}, innerSlotProps?.toolbar, {
103
+ titleId: labelId,
97
104
  rangePosition,
98
105
  onRangePositionChange: setRangePosition
99
106
  })
100
107
  });
101
108
  const Layout = slots?.layout ?? PickersLayout;
109
+ const finalLocaleText = _extends({}, contextLocaleText, localeText);
110
+ let labelledById = labelId;
111
+ if (isToolbarHidden) {
112
+ const labels = [];
113
+ if (finalLocaleText.start) {
114
+ labels.push(`${labelId}-start-label`);
115
+ }
116
+ if (finalLocaleText.end) {
117
+ labels.push(`${labelId}-end-label`);
118
+ }
119
+ labelledById = labels.length > 0 ? labels.join(' ') : undefined;
120
+ }
121
+ const slotProps = _extends({}, innerSlotProps, {
122
+ mobilePaper: _extends({
123
+ 'aria-labelledby': labelledById
124
+ }, innerSlotProps?.mobilePaper)
125
+ });
102
126
  const renderPicker = () => /*#__PURE__*/_jsx(LocalizationProvider, {
103
127
  localeText: localeText,
104
128
  children: /*#__PURE__*/_jsxs(WrapperVariantContext.Provider, {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY3NDE2OTIwMDAwMA==";
3
+ const releaseInfo = "MTY3NDc1OTYwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -140,7 +140,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
140
140
  components,
141
141
  componentsProps,
142
142
  slots: innerSlots,
143
- slotProps: innerslotProps,
143
+ slotProps: innerSlotProps,
144
144
  loading,
145
145
  renderLoading,
146
146
  disableHighlightToday,
@@ -156,7 +156,7 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
156
156
  } = props,
157
157
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
158
158
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
159
- const slotProps = innerslotProps ?? componentsProps;
159
+ const slotProps = innerSlotProps ?? componentsProps;
160
160
  const [value, setValue] = (0, _useControlled.default)({
161
161
  controlled: valueProp,
162
162
  default: defaultValue ?? _valueManagers.rangeValueManager.emptyValue,
@@ -110,6 +110,7 @@ process.env.NODE_ENV !== "production" ? DateRangePickerToolbar.propTypes = {
110
110
  onRangePositionChange: _propTypes.default.func.isRequired,
111
111
  rangePosition: _propTypes.default.oneOf(['end', 'start']).isRequired,
112
112
  readOnly: _propTypes.default.bool,
113
+ titleId: _propTypes.default.string,
113
114
  /**
114
115
  * Toolbar date format.
115
116
  */
@@ -46,7 +46,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
46
46
  });
47
47
  const {
48
48
  slots: innerSlots,
49
- slotProps: innerslotProps,
49
+ slotProps: innerSlotProps,
50
50
  components,
51
51
  componentsProps,
52
52
  value,
@@ -67,7 +67,7 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
67
67
  } = themeProps,
68
68
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
69
69
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
70
- const slotProps = innerslotProps ?? componentsProps;
70
+ const slotProps = innerSlotProps ?? componentsProps;
71
71
  const ownerState = themeProps;
72
72
  const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
73
73
  const rootProps = (0, _utils.useSlotProps)({
@@ -46,7 +46,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
46
46
  });
47
47
  const {
48
48
  slots: innerSlots,
49
- slotProps: innerslotProps,
49
+ slotProps: innerSlotProps,
50
50
  components,
51
51
  componentsProps,
52
52
  value,
@@ -73,7 +73,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
73
73
  } = themeProps,
74
74
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
75
75
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
76
- const slotProps = innerslotProps ?? componentsProps;
76
+ const slotProps = innerSlotProps ?? componentsProps;
77
77
  const ownerState = themeProps;
78
78
  const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
79
79
  const rootProps = (0, _utils.useSlotProps)({
@@ -46,7 +46,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
46
46
  });
47
47
  const {
48
48
  slots: innerSlots,
49
- slotProps: innerslotProps,
49
+ slotProps: innerSlotProps,
50
50
  components,
51
51
  componentsProps,
52
52
  value,
@@ -68,7 +68,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
68
68
  } = themeProps,
69
69
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
70
70
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
71
- const slotProps = innerslotProps ?? componentsProps;
71
+ const slotProps = innerSlotProps ?? componentsProps;
72
72
  const ownerState = themeProps;
73
73
  const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
74
74
  const rootProps = (0, _utils.useSlotProps)({
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v6.0.0-beta.0
2
+ * @mui/x-date-pickers-pro v6.0.0-beta.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -26,7 +26,7 @@ const useDesktopRangePicker = ({
26
26
  (0, _xLicensePro.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
27
27
  const {
28
28
  slots: innerSlots,
29
- slotProps: innerslotProps,
29
+ slotProps: innerSlotProps,
30
30
  components,
31
31
  componentsProps,
32
32
  className,
@@ -39,7 +39,7 @@ const useDesktopRangePicker = ({
39
39
  localeText
40
40
  } = props;
41
41
  const slots = innerSlots ?? (0, _internals.uncapitalizeObjectKeys)(components);
42
- const slotProps = innerslotProps ?? componentsProps;
42
+ const slotProps = innerSlotProps ?? componentsProps;
43
43
  const fieldRef = React.useRef(null);
44
44
  const popperRef = React.useRef(null);
45
45
  const [rangePosition, setRangePosition] = React.useState('start');
@@ -12,6 +12,7 @@ var _xLicensePro = require("@mui/x-license-pro");
12
12
  var _LocalizationProvider = require("@mui/x-date-pickers/LocalizationProvider");
13
13
  var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
14
14
  var _internals = require("@mui/x-date-pickers/internals");
15
+ var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
16
  var _useRangePickerInputProps = require("../useRangePickerInputProps");
16
17
  var _releaseInfo = require("../../utils/releaseInfo");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
@@ -26,7 +27,7 @@ const useMobileRangePicker = ({
26
27
  (0, _xLicensePro.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
27
28
  const {
28
29
  slots,
29
- slotProps,
30
+ slotProps: innerSlotProps,
30
31
  className,
31
32
  sx,
32
33
  format,
@@ -36,6 +37,8 @@ const useMobileRangePicker = ({
36
37
  localeText
37
38
  } = props;
38
39
  const [rangePosition, setRangePosition] = React.useState('start');
40
+ const labelId = (0, _useId.default)();
41
+ const contextLocaleText = (0, _internals.useLocaleText)();
39
42
  const {
40
43
  open,
41
44
  actions,
@@ -67,7 +70,7 @@ const useMobileRangePicker = ({
67
70
  const Field = slots.field;
68
71
  const fieldProps = (0, _utils.useSlotProps)({
69
72
  elementType: Field,
70
- externalSlotProps: slotProps?.field,
73
+ externalSlotProps: innerSlotProps?.field,
71
74
  additionalProps: (0, _extends2.default)({}, pickerFieldProps, {
72
75
  readOnly: readOnly ?? true,
73
76
  disabled,
@@ -80,33 +83,54 @@ const useMobileRangePicker = ({
80
83
  const slotsForField = (0, _extends2.default)({
81
84
  textField: slots.textField
82
85
  }, fieldProps.slots);
86
+ const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
83
87
  const slotPropsForField = (0, _extends2.default)({}, fieldProps.slotProps, {
84
88
  textField: ownerState => {
85
- const externalInputProps = (0, _utils.resolveComponentProps)(slotProps?.textField, ownerState);
89
+ const externalInputProps = (0, _utils.resolveComponentProps)(innerSlotProps?.textField, ownerState);
86
90
  const inputPropsPassedByField = (0, _utils.resolveComponentProps)(fieldProps.slotProps?.textField, ownerState);
87
91
  const inputPropsPassedByPicker = ownerState.position === 'start' ? fieldSlotProps.startInput : fieldSlotProps.endInput;
88
- return (0, _extends2.default)({}, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
92
+ return (0, _extends2.default)({}, isToolbarHidden && {
93
+ id: `${labelId}-${ownerState.position}`
94
+ }, externalInputProps, inputPropsPassedByField, inputPropsPassedByPicker, {
89
95
  inputProps: (0, _extends2.default)({}, externalInputProps?.inputProps, inputPropsPassedByField?.inputProps)
90
96
  });
91
97
  },
92
98
  root: ownerState => {
93
- const externalRootProps = (0, _utils.resolveComponentProps)(slotProps?.fieldRoot, ownerState);
99
+ const externalRootProps = (0, _utils.resolveComponentProps)(innerSlotProps?.fieldRoot, ownerState);
94
100
  const rootPropsPassedByField = (0, _utils.resolveComponentProps)(fieldProps.slotProps?.root, ownerState);
95
101
  return (0, _extends2.default)({}, externalRootProps, rootPropsPassedByField, fieldSlotProps.root);
96
102
  },
97
103
  separator: ownerState => {
98
- const externalSeparatorProps = (0, _utils.resolveComponentProps)(slotProps?.fieldSeparator, ownerState);
104
+ const externalSeparatorProps = (0, _utils.resolveComponentProps)(innerSlotProps?.fieldSeparator, ownerState);
99
105
  const separatorPropsPassedByField = (0, _utils.resolveComponentProps)(fieldProps.slotProps?.separator, ownerState);
100
106
  return (0, _extends2.default)({}, externalSeparatorProps, separatorPropsPassedByField, fieldSlotProps.root);
101
107
  }
102
108
  });
103
- const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
104
- toolbar: (0, _extends2.default)({}, slotProps?.toolbar, {
109
+ const slotPropsForLayout = (0, _extends2.default)({}, innerSlotProps, {
110
+ toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
111
+ titleId: labelId,
105
112
  rangePosition,
106
113
  onRangePositionChange: setRangePosition
107
114
  })
108
115
  });
109
116
  const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
117
+ const finalLocaleText = (0, _extends2.default)({}, contextLocaleText, localeText);
118
+ let labelledById = labelId;
119
+ if (isToolbarHidden) {
120
+ const labels = [];
121
+ if (finalLocaleText.start) {
122
+ labels.push(`${labelId}-start-label`);
123
+ }
124
+ if (finalLocaleText.end) {
125
+ labels.push(`${labelId}-end-label`);
126
+ }
127
+ labelledById = labels.length > 0 ? labels.join(' ') : undefined;
128
+ }
129
+ const slotProps = (0, _extends2.default)({}, innerSlotProps, {
130
+ mobilePaper: (0, _extends2.default)({
131
+ 'aria-labelledby': labelledById
132
+ }, innerSlotProps?.mobilePaper)
133
+ });
110
134
  const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
111
135
  localeText: localeText,
112
136
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.WrapperVariantContext.Provider, {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTY3NDE2OTIwMDAwMA==";
9
+ const releaseInfo = "MTY3NDc1OTYwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "6.0.0-beta.0",
3
+ "version": "6.0.0-beta.1",
4
4
  "description": "The commercial edition of the date picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -36,7 +36,7 @@
36
36
  "@date-io/luxon": "^2.16.1",
37
37
  "@date-io/moment": "^2.16.1",
38
38
  "@mui/utils": "^5.11.2",
39
- "@mui/x-date-pickers": "6.0.0-beta.0",
39
+ "@mui/x-date-pickers": "6.0.0-beta.1",
40
40
  "@mui/x-license-pro": "6.0.0-beta.0",
41
41
  "clsx": "^1.2.1",
42
42
  "prop-types": "^15.8.1",