@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.
- package/CHANGELOG.md +107 -3
- package/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/DateRangePicker/DateRangePickerToolbar.js +1 -0
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
- package/index.js +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +2 -2
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -10
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +2 -2
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
- package/internal/utils/releaseInfo.js +1 -1
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/legacy/DateRangePicker/DateRangePickerToolbar.js +1 -0
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
- package/legacy/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +34 -10
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/modern/DateRangePicker/DateRangePickerToolbar.js +1 -0
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
- package/modern/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -9
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +2 -2
- package/node/DateRangePicker/DateRangePickerToolbar.js +1 -0
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -2
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +2 -2
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +2 -2
- package/node/index.js +1 -1
- package/node/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.js +2 -2
- package/node/internal/hooks/useMobileRangePicker/useMobileRangePicker.js +32 -8
- package/node/internal/utils/releaseInfo.js +1 -1
- 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={(
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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
|
@@ -19,7 +19,7 @@ export const useDesktopRangePicker = ({
|
|
|
19
19
|
useLicenseVerifier('x-date-pickers-pro', releaseInfo);
|
|
20
20
|
const {
|
|
21
21
|
slots: innerSlots,
|
|
22
|
-
slotProps:
|
|
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 =
|
|
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:
|
|
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(
|
|
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({},
|
|
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(
|
|
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(
|
|
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({},
|
|
100
|
-
toolbar: _extends({},
|
|
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 = "
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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
|
@@ -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
|
-
|
|
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 =
|
|
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
|
-
|
|
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:
|
|
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(
|
|
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({},
|
|
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(
|
|
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(
|
|
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({},
|
|
100
|
-
toolbar: _extends({},
|
|
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 = "
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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
|
@@ -18,7 +18,7 @@ export const useDesktopRangePicker = ({
|
|
|
18
18
|
useLicenseVerifier('x-date-pickers-pro', releaseInfo);
|
|
19
19
|
const {
|
|
20
20
|
slots: innerSlots,
|
|
21
|
-
slotProps:
|
|
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 =
|
|
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:
|
|
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(
|
|
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({},
|
|
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(
|
|
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(
|
|
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({},
|
|
96
|
-
toolbar: _extends({},
|
|
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 = "
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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:
|
|
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 =
|
|
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
|
@@ -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:
|
|
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 =
|
|
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:
|
|
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)(
|
|
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)({},
|
|
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)(
|
|
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)(
|
|
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)({},
|
|
104
|
-
toolbar: (0, _extends2.default)({},
|
|
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 = "
|
|
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.
|
|
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.
|
|
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",
|