@mui/x-date-pickers 8.0.0-alpha.13 → 8.0.0-alpha.14
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 +131 -0
- package/DatePicker/shared.d.ts +1 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/DateTimePicker/shared.d.ts +18 -10
- package/DateTimePicker/shared.js +23 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -11
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +61 -6
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/PickersTextField/PickersTextField.js +3 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +60 -6
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/TimePicker/shared.d.ts +1 -1
- package/esm/DatePicker/shared.d.ts +1 -1
- package/esm/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/esm/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/esm/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/esm/DateTimePicker/shared.d.ts +18 -10
- package/esm/DateTimePicker/shared.js +23 -2
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
- package/esm/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/esm/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/esm/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/esm/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
- package/esm/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/esm/PickersTextField/PickersTextField.js +3 -1
- package/esm/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
- package/esm/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/esm/TimePicker/shared.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/components/PickerFieldUI.js +6 -2
- package/esm/internals/components/PickerPopper/PickerPopper.js +3 -3
- package/esm/internals/components/PickerProvider.d.ts +137 -6
- package/esm/internals/components/PickerProvider.js +1 -1
- package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -7
- package/esm/internals/hooks/useField/useField.js +7 -8
- package/esm/internals/hooks/useField/useField.types.d.ts +46 -43
- package/esm/internals/hooks/useField/useField.utils.js +4 -1
- package/esm/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/esm/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/esm/internals/hooks/useField/useFieldState.js +136 -83
- package/esm/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/esm/internals/hooks/useField/useFieldV7TextField.js +2 -1
- package/esm/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/esm/internals/hooks/useNullableFieldPrivateContext.d.ts +5 -2
- package/esm/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/esm/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
- package/esm/internals/hooks/usePicker/index.d.ts +1 -3
- package/esm/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/esm/internals/hooks/usePicker/usePicker.js +276 -34
- package/esm/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/esm/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/esm/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/esm/internals/index.d.ts +3 -6
- package/esm/internals/models/manager.d.ts +108 -4
- package/esm/internals/models/props/basePickerProps.d.ts +2 -2
- package/esm/internals/models/props/time.d.ts +1 -1
- package/esm/internals/utils/date-time-utils.d.ts +2 -2
- package/esm/internals/utils/valueManagers.d.ts +1 -1
- package/esm/internals/utils/valueManagers.js +10 -18
- package/esm/managers/useDateManager.d.ts +3 -4
- package/esm/managers/useDateTimeManager.d.ts +3 -4
- package/esm/managers/useTimeManager.d.ts +3 -4
- package/esm/models/adapters.d.ts +2 -1
- package/esm/models/manager.d.ts +4 -5
- package/esm/validation/useValidation.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/PickerFieldUI.js +6 -2
- package/internals/components/PickerPopper/PickerPopper.js +3 -3
- package/internals/components/PickerProvider.d.ts +137 -6
- package/internals/components/PickerProvider.js +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -7
- package/internals/hooks/useField/useField.js +7 -8
- package/internals/hooks/useField/useField.types.d.ts +46 -43
- package/internals/hooks/useField/useField.utils.js +4 -1
- package/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/internals/hooks/useField/useFieldState.js +135 -82
- package/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/internals/hooks/useField/useFieldV7TextField.js +2 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/internals/hooks/useNullableFieldPrivateContext.d.ts +5 -2
- package/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/internals/hooks/usePicker/hooks/useOrientation.js +42 -0
- package/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/internals/hooks/usePicker/{usePickerValue.js → hooks/useValueAndOpenStates.js} +97 -114
- package/internals/hooks/usePicker/index.d.ts +1 -3
- package/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/internals/hooks/usePicker/usePicker.js +278 -34
- package/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/internals/index.d.ts +3 -6
- package/internals/models/manager.d.ts +108 -4
- package/internals/models/props/basePickerProps.d.ts +2 -2
- package/internals/models/props/time.d.ts +1 -1
- package/internals/utils/date-time-utils.d.ts +2 -2
- package/internals/utils/valueManagers.d.ts +1 -1
- package/internals/utils/valueManagers.js +10 -18
- package/managers/useDateManager.d.ts +3 -4
- package/managers/useDateTimeManager.d.ts +3 -4
- package/managers/useTimeManager.d.ts +3 -4
- package/models/adapters.d.ts +2 -1
- package/models/manager.d.ts +4 -5
- package/modern/DatePicker/shared.d.ts +1 -1
- package/modern/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/modern/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
- package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -1
- package/modern/DateTimePicker/shared.d.ts +18 -10
- package/modern/DateTimePicker/shared.js +23 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
- package/modern/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
- package/modern/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
- package/modern/PickersTextField/PickersTextField.js +3 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
- package/modern/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
- package/modern/TimePicker/shared.d.ts +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerFieldUI.js +6 -2
- package/modern/internals/components/PickerPopper/PickerPopper.js +3 -3
- package/modern/internals/components/PickerProvider.d.ts +137 -6
- package/modern/internals/components/PickerProvider.js +1 -1
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -7
- package/modern/internals/hooks/useField/useField.js +7 -8
- package/modern/internals/hooks/useField/useField.types.d.ts +46 -43
- package/modern/internals/hooks/useField/useField.utils.js +4 -1
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
- package/modern/internals/hooks/useField/useFieldState.d.ts +2 -1
- package/modern/internals/hooks/useField/useFieldState.js +136 -83
- package/modern/internals/hooks/useField/useFieldV6TextField.js +1 -1
- package/modern/internals/hooks/useField/useFieldV7TextField.js +2 -1
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
- package/modern/internals/hooks/useNullableFieldPrivateContext.d.ts +5 -2
- package/modern/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
- package/modern/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
- package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
- package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
- package/modern/internals/hooks/usePicker/index.d.ts +1 -3
- package/modern/internals/hooks/usePicker/usePicker.d.ts +5 -5
- package/modern/internals/hooks/usePicker/usePicker.js +276 -34
- package/modern/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
- package/modern/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
- package/modern/internals/hooks/useValueWithTimezone.d.ts +1 -1
- package/modern/internals/index.d.ts +3 -6
- package/modern/internals/models/manager.d.ts +108 -4
- package/modern/internals/models/props/basePickerProps.d.ts +2 -2
- package/modern/internals/models/props/time.d.ts +1 -1
- package/modern/internals/utils/date-time-utils.d.ts +2 -2
- package/modern/internals/utils/valueManagers.d.ts +1 -1
- package/modern/internals/utils/valueManagers.js +10 -18
- package/modern/managers/useDateManager.d.ts +3 -4
- package/modern/managers/useDateTimeManager.d.ts +3 -4
- package/modern/managers/useTimeManager.d.ts +3 -4
- package/modern/models/adapters.d.ts +2 -1
- package/modern/models/manager.d.ts +4 -5
- package/modern/validation/useValidation.d.ts +1 -1
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
- package/validation/useValidation.d.ts +1 -1
- package/esm/internals/hooks/useOpenState.d.ts +0 -14
- package/esm/internals/hooks/useOpenState.js +0 -37
- package/esm/internals/hooks/usePicker/usePickerProvider.d.ts +0 -65
- package/esm/internals/hooks/usePicker/usePickerProvider.js +0 -125
- package/esm/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/esm/internals/hooks/usePicker/usePickerValue.js +0 -226
- package/esm/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/esm/internals/hooks/usePicker/usePickerValue.types.js +0 -1
- package/esm/internals/hooks/usePicker/usePickerViews.d.ts +0 -137
- package/esm/internals/hooks/usePicker/usePickerViews.js +0 -188
- package/internals/hooks/useOpenState.d.ts +0 -14
- package/internals/hooks/useOpenState.js +0 -46
- package/internals/hooks/usePicker/usePickerProvider.d.ts +0 -65
- package/internals/hooks/usePicker/usePickerProvider.js +0 -135
- package/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/internals/hooks/usePicker/usePickerValue.types.js +0 -5
- package/internals/hooks/usePicker/usePickerViews.d.ts +0 -137
- package/internals/hooks/usePicker/usePickerViews.js +0 -195
- package/modern/internals/hooks/useOpenState.d.ts +0 -14
- package/modern/internals/hooks/useOpenState.js +0 -37
- package/modern/internals/hooks/usePicker/usePickerProvider.d.ts +0 -65
- package/modern/internals/hooks/usePicker/usePickerProvider.js +0 -125
- package/modern/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
- package/modern/internals/hooks/usePicker/usePickerValue.js +0 -226
- package/modern/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
- package/modern/internals/hooks/usePicker/usePickerValue.types.js +0 -1
- package/modern/internals/hooks/usePicker/usePickerViews.d.ts +0 -137
- package/modern/internals/hooks/usePicker/usePickerViews.js +0 -188
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,137 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.0.0-alpha.14
|
|
9
|
+
|
|
10
|
+
_Mar 7, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🚀📊 New Pro Chart: It is now possible to create Funnel charts—perfect for visualizing conversions, sales pipelines and more!
|
|
15
|
+
<img width="418" alt="Screenshot 2025-01-31 at 12 22 31" src="https://github.com/user-attachments/assets/8cd26821-5f11-46bf-a9bb-34d212880a47" />
|
|
16
|
+
- 🎁 The first iteration of the radar chart is available. Features and refinements will be added in the coming weeks.
|
|
17
|
+
- 🛠️ New and improved [Toolbar component](https://next.mui.com/x/react-data-grid/components/toolbar/) for the data grid
|
|
18
|
+
- 🐞 Bugfixes
|
|
19
|
+
|
|
20
|
+
Special thanks go out to the community member for their valuable contributions:
|
|
21
|
+
@vadimka123.
|
|
22
|
+
|
|
23
|
+
Following are all team members who have contributed to this release:
|
|
24
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @noraleonte, @oliviertassinari.
|
|
25
|
+
|
|
26
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
27
|
+
|
|
28
|
+
### Data Grid
|
|
29
|
+
|
|
30
|
+
#### Breaking changes
|
|
31
|
+
|
|
32
|
+
- The density selector has been removed from the toolbar. It is still possible to set the density programmatically via the `density` prop. A density selector can be added to a custom toolbar passed to `slots.toolbar`. See [Toolbar component—Settings menu](https://next.mui.com/x/react-data-grid/components/toolbar/#settings-menu) for an example.
|
|
33
|
+
- The quick filter is now shown in the toolbar by default. Use `slotProps={{ toolbar: { showQuickFilter: false } }}` to hide it.
|
|
34
|
+
- The `<GridSaveAltIcon />` icon is not exported anymore. Import `SaveAlt` from `@mui/icons-material` instead.
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid@8.0.0-alpha.14`
|
|
37
|
+
|
|
38
|
+
- [DataGrid] Fix `aria-hidden` console error when scrollbar is dragged (#16829) @arminmeh
|
|
39
|
+
- [DataGrid] Fix scroll jump with dynamic row height (#16763) @cherniavskii
|
|
40
|
+
- [DataGrid] New `<Toolbar />` component (#14611) @KenanYusuf
|
|
41
|
+
- [DataGrid] Use new toolbar by default (#16814) @KenanYusuf
|
|
42
|
+
- [DataGrid] Remove the quick filtering on a given column (#16738) @vadimka123
|
|
43
|
+
|
|
44
|
+
#### `@mui/x-data-grid-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
45
|
+
|
|
46
|
+
Same changes as in `@mui/x-data-grid@8.0.0-alpha.14`.
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-data-grid-premium@8.0.0-alpha.14` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
49
|
+
|
|
50
|
+
Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.14`.
|
|
51
|
+
|
|
52
|
+
### Date and Time Pickers
|
|
53
|
+
|
|
54
|
+
#### Breaking changes
|
|
55
|
+
|
|
56
|
+
- All Date Time Picker variants now use Digital Clock for time editing.
|
|
57
|
+
- Stop passing invalid date to `onChange` when the date is partially filled — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#treat-partially-filled-date-as-null-in-onchange).
|
|
58
|
+
|
|
59
|
+
#### `@mui/x-date-pickers@8.0.0-alpha.14`
|
|
60
|
+
|
|
61
|
+
- [DateTimePicker] Use Digital Clock in all component variants (#16678) @LukasTy
|
|
62
|
+
- [fields] Always use `props.value` as the source of truth when defined (#15875) @flaviendelangle
|
|
63
|
+
- [fields] Fix Fields aria relationship with `helperText` (#16821) @LukasTy
|
|
64
|
+
- [pickers] Add `TValidationProps` generic to the `PickerManager` interface (#16832) @flaviendelangle
|
|
65
|
+
- [pickers] Fix `edge` property setting in different button position cases (#16838) @LukasTy
|
|
66
|
+
- [pickers] Fix typo in JSDoc (#16831) @flaviendelangle
|
|
67
|
+
- [pickers] Refactor the files in the `usePicker` folder (#16680) @flaviendelangle
|
|
68
|
+
|
|
69
|
+
#### `@mui/x-date-pickers-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
70
|
+
|
|
71
|
+
Same changes as in `@mui/x-date-pickers@8.0.0-alpha.14`.
|
|
72
|
+
|
|
73
|
+
### Charts
|
|
74
|
+
|
|
75
|
+
#### `@mui/x-charts@8.0.0-alpha.14`
|
|
76
|
+
|
|
77
|
+
- [charts] Fix `undefined` behaving differently from missing value for axis size (#16844) @bernardobelchior
|
|
78
|
+
- [charts] Fix x-axis text anchor default when language is RTL (#16836) @bernardobelchior
|
|
79
|
+
- [charts] Add Radar chart (#16406) @alexfauquette
|
|
80
|
+
- [charts] Move series default color generation in the series config (#16752) @alexfauquette
|
|
81
|
+
- [charts] Render axis title within axis size (#16730) @bernardobelchior
|
|
82
|
+
- [charts] Split `defaultizeAxis` function into two (#16745) @bernardobelchior
|
|
83
|
+
- [charts] Warn if axes data don't have enough elements (#16830) @alexfauquette
|
|
84
|
+
- [charts] XAxis: Add defaults for `textAnchor` and `dominantBaseline` based on `angle` (#16817) @bernardobelchior
|
|
85
|
+
|
|
86
|
+
#### `@mui/x-charts-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
87
|
+
|
|
88
|
+
Same changes as in `@mui/x-charts@8.0.0-alpha.14`, plus:
|
|
89
|
+
|
|
90
|
+
- [charts] Add Funnel chart (#14804) @JCQuintas
|
|
91
|
+
|
|
92
|
+
### Tree View
|
|
93
|
+
|
|
94
|
+
#### Breaking changes
|
|
95
|
+
|
|
96
|
+
- The `selectItem` method has been renamed `setItemSelection`:
|
|
97
|
+
|
|
98
|
+
```diff
|
|
99
|
+
const { publicAPI } = useTreeItemUtils();
|
|
100
|
+
|
|
101
|
+
const handleSelectItem() {
|
|
102
|
+
- publicAPI.selectItem({ event, itemId: props.itemId, shouldBeSelected: true })
|
|
103
|
+
+ publicAPI.setItemSelection({ event, itemId: props.itemId, shouldBeSelected: true })
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- The `setItemExpansion` method now receives a single object instead of a list of parameters:
|
|
108
|
+
|
|
109
|
+
```diff
|
|
110
|
+
const { publicAPI } = useTreeItemUtils();
|
|
111
|
+
|
|
112
|
+
const handleExpandItem() {
|
|
113
|
+
- publicAPI.setItemExpansion(event, props.itemId, true)
|
|
114
|
+
+ publicAPI.setItemExpansion({ event, itemId: props.itemId, shouldBeExpanded: true })
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### `@mui/x-tree-view@8.0.0-alpha.14`
|
|
119
|
+
|
|
120
|
+
- [TreeView] Clean the expansion and selection API methods (#16795) @flaviendelangle
|
|
121
|
+
|
|
122
|
+
#### `@mui/x-tree-view-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
123
|
+
|
|
124
|
+
Same changes as in `@mui/x-tree-view@8.0.0-alpha.14`.
|
|
125
|
+
|
|
126
|
+
### Docs
|
|
127
|
+
|
|
128
|
+
- [docs] Fix padding package install on mobile (#16794) @oliviertassinari
|
|
129
|
+
- [docs] Typo fixes (#16835) @alexfauquette
|
|
130
|
+
|
|
131
|
+
### Core
|
|
132
|
+
|
|
133
|
+
- [code-infra] Fix console warning in telemetry package (#16816) @JCQuintas
|
|
134
|
+
- [code-infra] Split date-picker test files (#16825) @JCQuintas
|
|
135
|
+
- [infra] Replace PR label check workflow with reusable version (#16762) @michelengelen
|
|
136
|
+
- [infra] Update label in priority-support issue template (#16767) @michelengelen
|
|
137
|
+
- [test] Add timeout to flaky screenshot tests (#16852) @LukasTy
|
|
138
|
+
|
|
8
139
|
## 8.0.0-alpha.13
|
|
9
140
|
|
|
10
141
|
_Feb 28, 2025_
|
package/DatePicker/shared.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { DateValidationError, DateView } from "../models/index.js";
|
|
|
5
5
|
import { BasePickerInputProps } from "../internals/models/props/basePickerProps.js";
|
|
6
6
|
import { LocalizedComponent } from "../locales/utils/pickersLocaleTextApi.js";
|
|
7
7
|
import { DatePickerToolbarProps, ExportedDatePickerToolbarProps } from "./DatePickerToolbar.js";
|
|
8
|
-
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/
|
|
8
|
+
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/index.js";
|
|
9
9
|
import { DateViewRendererProps } from "../dateViewRenderers/index.js";
|
|
10
10
|
import { PickerValue } from "../internals/models/index.js";
|
|
11
11
|
import { ValidateDatePropsToDefault } from "../validation/validateDate.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps } from "../DesktopDateTimePicker/index.js";
|
|
2
|
-
import { BaseSingleInputFieldProps
|
|
2
|
+
import { BaseSingleInputFieldProps } from "../internals/models/index.js";
|
|
3
3
|
import { MobileDateTimePickerProps, MobileDateTimePickerSlots, MobileDateTimePickerSlotProps } from "../MobileDateTimePicker/index.js";
|
|
4
4
|
import { ValidateDateTimeProps } from "../validation/index.js";
|
|
5
5
|
import { ExportedYearCalendarProps } from "../YearCalendar/YearCalendar.types.js";
|
|
6
6
|
export interface DateTimePickerSlots extends DesktopDateTimePickerSlots, MobileDateTimePickerSlots {}
|
|
7
7
|
export interface DateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure>, MobileDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
8
|
-
export interface DateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, ExportedYearCalendarProps, Omit<MobileDateTimePickerProps<
|
|
8
|
+
export interface DateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, ExportedYearCalendarProps, Omit<MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure>, 'views'> {
|
|
9
9
|
/**
|
|
10
10
|
* CSS media query when `Mobile` mode will be changed to `Desktop`.
|
|
11
11
|
* @default '@media (pointer: fine)'
|
|
@@ -3,7 +3,7 @@ import { BaseToolbarProps, ExportedBaseToolbarProps } from "../internals/models/
|
|
|
3
3
|
import { DateTimePickerToolbarClasses } from "./dateTimePickerToolbarClasses.js";
|
|
4
4
|
import { DateOrTimeViewWithMeridiem, PickerValue } from "../internals/models/index.js";
|
|
5
5
|
import { DateTimeValidationError } from "../models/index.js";
|
|
6
|
-
import { SetValueActionOptions } from "../internals/
|
|
6
|
+
import { SetValueActionOptions } from "../internals/components/PickerProvider.js";
|
|
7
7
|
export interface ExportedDateTimePickerToolbarProps extends ExportedBaseToolbarProps {
|
|
8
8
|
/**
|
|
9
9
|
* Override or extend the styles applied to the component.
|
|
@@ -65,7 +65,7 @@ const DateTimePickerToolbarRoot = (0, _styles.styled)(_PickersToolbar.PickersToo
|
|
|
65
65
|
},
|
|
66
66
|
style: {
|
|
67
67
|
borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
|
|
68
|
-
[`& .${_pickersToolbarClasses.pickersToolbarClasses.content} .${_pickersToolbarTextClasses.pickersToolbarTextClasses.selected
|
|
68
|
+
[`& .${_pickersToolbarClasses.pickersToolbarClasses.content} .${_pickersToolbarTextClasses.pickersToolbarTextClasses.root}[data-selected]`]: {
|
|
69
69
|
color: (theme.vars || theme).palette.primary.main,
|
|
70
70
|
fontWeight: theme.typography.fontWeightBold
|
|
71
71
|
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
-
import { DateTimeValidationError } from "../models/index.js";
|
|
3
|
+
import { DateOrTimeView, DateTimeValidationError } from "../models/index.js";
|
|
4
4
|
import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from "../DateCalendar/DateCalendar.types.js";
|
|
5
|
-
import { TimeClockSlots, TimeClockSlotProps } from "../TimeClock/TimeClock.types.js";
|
|
6
5
|
import { BasePickerInputProps } from "../internals/models/props/basePickerProps.js";
|
|
7
6
|
import { DateTimePickerTabsProps } from "./DateTimePickerTabs.js";
|
|
8
7
|
import { LocalizedComponent } from "../locales/utils/pickersLocaleTextApi.js";
|
|
9
8
|
import { DateTimePickerToolbarProps, ExportedDateTimePickerToolbarProps } from "./DateTimePickerToolbar.js";
|
|
10
|
-
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/
|
|
9
|
+
import { PickerViewRendererLookup } from "../internals/hooks/usePicker/index.js";
|
|
11
10
|
import { DateViewRendererProps } from "../dateViewRenderers/index.js";
|
|
12
11
|
import { TimeViewRendererProps } from "../timeViewRenderers/index.js";
|
|
13
|
-
import { BaseClockProps,
|
|
12
|
+
import { BaseClockProps, DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
14
13
|
import { DateOrTimeViewWithMeridiem, PickerValue, TimeViewWithMeridiem } from "../internals/models/index.js";
|
|
15
14
|
import { ExportedValidateDateTimeProps, ValidateDateTimePropsToDefault } from "../validation/validateDateTime.js";
|
|
16
|
-
|
|
15
|
+
import { DigitalClockSlotProps, DigitalClockSlots } from "../DigitalClock/index.js";
|
|
16
|
+
import { MultiSectionDigitalClockSlotProps, MultiSectionDigitalClockSlots } from "../MultiSectionDigitalClock/index.js";
|
|
17
|
+
export interface BaseDateTimePickerSlots extends DateCalendarSlots, DigitalClockSlots, MultiSectionDigitalClockSlots {
|
|
17
18
|
/**
|
|
18
19
|
* Tabs enabling toggling between date and time pickers.
|
|
19
20
|
* @default DateTimePickerTabs
|
|
@@ -25,7 +26,7 @@ export interface BaseDateTimePickerSlots extends DateCalendarSlots, TimeClockSlo
|
|
|
25
26
|
*/
|
|
26
27
|
toolbar?: React.JSXElementConstructor<DateTimePickerToolbarProps>;
|
|
27
28
|
}
|
|
28
|
-
export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps,
|
|
29
|
+
export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
|
|
29
30
|
/**
|
|
30
31
|
* Props passed down to the tabs component.
|
|
31
32
|
*/
|
|
@@ -36,7 +37,7 @@ export interface BaseDateTimePickerSlotProps extends DateCalendarSlotProps, Time
|
|
|
36
37
|
toolbar?: ExportedDateTimePickerToolbarProps;
|
|
37
38
|
}
|
|
38
39
|
export type DateTimePickerViewRenderers<TView extends DateOrTimeViewWithMeridiem> = PickerViewRendererLookup<PickerValue, TView, Omit<DateViewRendererProps<TView>, 'slots' | 'slotProps'> & Omit<TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TimeViewWithMeridiem>>, 'slots' | 'slotProps'>>;
|
|
39
|
-
export interface BaseDateTimePickerProps
|
|
40
|
+
export interface BaseDateTimePickerProps extends Omit<BasePickerInputProps<PickerValue, DateOrTimeViewWithMeridiem, DateTimeValidationError>, 'views'>, Omit<ExportedDateCalendarProps, 'onViewChange' | 'views'>, DigitalTimePickerProps, ExportedValidateDateTimeProps {
|
|
40
41
|
/**
|
|
41
42
|
* Display ampm controls under the clock (instead of in the toolbar).
|
|
42
43
|
* @default true on desktop, false on mobile
|
|
@@ -57,8 +58,15 @@ export interface BaseDateTimePickerProps<TView extends DateOrTimeViewWithMeridie
|
|
|
57
58
|
* If `null`, the section will only have field editing.
|
|
58
59
|
* If `undefined`, internally defined view will be used.
|
|
59
60
|
*/
|
|
60
|
-
viewRenderers?: Partial<DateTimePickerViewRenderers<
|
|
61
|
+
viewRenderers?: Partial<DateTimePickerViewRenderers<DateOrTimeViewWithMeridiem>>;
|
|
62
|
+
/**
|
|
63
|
+
* Available views.
|
|
64
|
+
*/
|
|
65
|
+
views?: readonly DateOrTimeView[];
|
|
61
66
|
}
|
|
62
|
-
type UseDateTimePickerDefaultizedProps<
|
|
63
|
-
|
|
67
|
+
type UseDateTimePickerDefaultizedProps<Props extends BaseDateTimePickerProps> = LocalizedComponent<Omit<DefaultizedProps<Props, 'openTo' | 'orientation' | 'ampm' | ValidateDateTimePropsToDefault>, 'views'>> & {
|
|
68
|
+
shouldRenderTimeInASingleColumn: boolean;
|
|
69
|
+
views: readonly DateOrTimeViewWithMeridiem[];
|
|
70
|
+
};
|
|
71
|
+
export declare function useDateTimePickerDefaultizedProps<Props extends BaseDateTimePickerProps>(props: Props, name: string): UseDateTimePickerDefaultizedProps<Props>;
|
|
64
72
|
export {};
|
package/DateTimePicker/shared.js
CHANGED
|
@@ -14,6 +14,7 @@ var _dateUtils = require("../internals/utils/date-utils");
|
|
|
14
14
|
var _DateTimePickerTabs = require("./DateTimePickerTabs");
|
|
15
15
|
var _DateTimePickerToolbar = require("./DateTimePickerToolbar");
|
|
16
16
|
var _views = require("../internals/utils/views");
|
|
17
|
+
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
17
18
|
function useDateTimePickerDefaultizedProps(props, name) {
|
|
18
19
|
const utils = (0, _useUtils.useUtils)();
|
|
19
20
|
const defaultDates = (0, _useUtils.useDefaultDates)();
|
|
@@ -30,12 +31,32 @@ function useDateTimePickerDefaultizedProps(props, name) {
|
|
|
30
31
|
dateTimePickerToolbarTitle: themeProps.localeText.toolbarTitle
|
|
31
32
|
});
|
|
32
33
|
}, [themeProps.localeText]);
|
|
33
|
-
|
|
34
|
+
const {
|
|
35
|
+
openTo,
|
|
36
|
+
views: defaultViews
|
|
37
|
+
} = (0, _views.applyDefaultViewProps)({
|
|
34
38
|
views: themeProps.views,
|
|
35
39
|
openTo: themeProps.openTo,
|
|
36
40
|
defaultViews: ['year', 'day', 'hours', 'minutes'],
|
|
37
41
|
defaultOpenTo: 'day'
|
|
38
|
-
})
|
|
42
|
+
});
|
|
43
|
+
const {
|
|
44
|
+
shouldRenderTimeInASingleColumn,
|
|
45
|
+
thresholdToRenderTimeInASingleColumn,
|
|
46
|
+
views,
|
|
47
|
+
timeSteps
|
|
48
|
+
} = (0, _dateTimeUtils.resolveTimeViewsResponse)({
|
|
49
|
+
thresholdToRenderTimeInASingleColumn: themeProps.thresholdToRenderTimeInASingleColumn,
|
|
50
|
+
ampm,
|
|
51
|
+
timeSteps: themeProps.timeSteps,
|
|
52
|
+
views: defaultViews
|
|
53
|
+
});
|
|
54
|
+
return (0, _extends2.default)({}, themeProps, {
|
|
55
|
+
timeSteps,
|
|
56
|
+
openTo,
|
|
57
|
+
shouldRenderTimeInASingleColumn,
|
|
58
|
+
thresholdToRenderTimeInASingleColumn,
|
|
59
|
+
views,
|
|
39
60
|
ampm,
|
|
40
61
|
localeText,
|
|
41
62
|
orientation: themeProps.orientation ?? 'portrait',
|
|
@@ -98,13 +98,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
98
98
|
|
|
99
99
|
// Props with the default values common to all date time pickers
|
|
100
100
|
const defaultizedProps = (0, _shared.useDateTimePickerDefaultizedProps)(inProps, 'MuiDesktopDateTimePicker');
|
|
101
|
-
const
|
|
102
|
-
shouldRenderTimeInASingleColumn,
|
|
103
|
-
thresholdToRenderTimeInASingleColumn,
|
|
104
|
-
views: resolvedViews,
|
|
105
|
-
timeSteps
|
|
106
|
-
} = (0, _dateTimeUtils.resolveTimeViewsResponse)(defaultizedProps);
|
|
107
|
-
const renderTimeView = shouldRenderTimeInASingleColumn ? _timeViewRenderers.renderDigitalClockTimeView : _timeViewRenderers.renderMultiSectionDigitalClockTimeView;
|
|
101
|
+
const renderTimeView = defaultizedProps.shouldRenderTimeInASingleColumn ? _timeViewRenderers.renderDigitalClockTimeView : _timeViewRenderers.renderMultiSectionDigitalClockTimeView;
|
|
108
102
|
const viewRenderers = (0, _extends2.default)({
|
|
109
103
|
day: _dateViewRenderers.renderDateViewCalendar,
|
|
110
104
|
month: _dateViewRenderers.renderDateViewCalendar,
|
|
@@ -117,7 +111,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
117
111
|
const ampmInClock = defaultizedProps.ampmInClock ?? true;
|
|
118
112
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
119
113
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
120
|
-
const views = !shouldHoursRendererContainMeridiemView ?
|
|
114
|
+
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
121
115
|
|
|
122
116
|
// Props with the default values specific to the desktop variant
|
|
123
117
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
@@ -126,9 +120,6 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
|
|
|
126
120
|
views,
|
|
127
121
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
128
122
|
ampmInClock,
|
|
129
|
-
timeSteps,
|
|
130
|
-
thresholdToRenderTimeInASingleColumn,
|
|
131
|
-
shouldRenderTimeInASingleColumn,
|
|
132
123
|
slots: (0, _extends2.default)({
|
|
133
124
|
field: _DateTimeField.DateTimeField,
|
|
134
125
|
layout: _DesktopDateTimePickerLayout.DesktopDateTimePickerLayout
|
|
@@ -2,14 +2,11 @@ import { MakeOptional } from '@mui/x-internals/types';
|
|
|
2
2
|
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from "../internals/hooks/useDesktopPicker/index.js";
|
|
3
3
|
import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from "../DateTimePicker/shared.js";
|
|
4
4
|
import { DateOrTimeView } from "../models/index.js";
|
|
5
|
-
import {
|
|
6
|
-
import { DateOrTimeViewWithMeridiem } from "../internals/models/index.js";
|
|
7
|
-
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from "../MultiSectionDigitalClock/index.js";
|
|
8
|
-
import { DigitalClockSlots, DigitalClockSlotProps } from "../DigitalClock/index.js";
|
|
5
|
+
import { DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
9
6
|
import { ExportedYearCalendarProps } from "../YearCalendar/YearCalendar.types.js";
|
|
10
|
-
export interface DesktopDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'
|
|
11
|
-
export interface DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure
|
|
12
|
-
export interface DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps
|
|
7
|
+
export interface DesktopDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'> {}
|
|
8
|
+
export interface DesktopDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
9
|
+
export interface DesktopDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps, DesktopOnlyPickerProps, DigitalTimePickerProps, ExportedYearCalendarProps {
|
|
13
10
|
/**
|
|
14
11
|
* Overridable component slots.
|
|
15
12
|
* @default {}
|
|
@@ -2,13 +2,13 @@ import { MakeOptional } from '@mui/x-internals/types';
|
|
|
2
2
|
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from "../internals/hooks/useDesktopPicker/index.js";
|
|
3
3
|
import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from "../TimePicker/shared.js";
|
|
4
4
|
import { TimeViewWithMeridiem } from "../internals/models/index.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DigitalTimePickerProps } from "../internals/models/props/time.js";
|
|
6
6
|
import { DigitalClockSlots, DigitalClockSlotProps } from "../DigitalClock/index.js";
|
|
7
7
|
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from "../MultiSectionDigitalClock/index.js";
|
|
8
8
|
import { TimeView } from "../models/index.js";
|
|
9
9
|
export interface DesktopTimePickerSlots extends BaseTimePickerSlots, MakeOptional<UseDesktopPickerSlots, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {}
|
|
10
10
|
export interface DesktopTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TEnableAccessibleFieldDOMStructure>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {}
|
|
11
|
-
export interface DesktopTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TimeViewWithMeridiem>, DesktopOnlyPickerProps,
|
|
11
|
+
export interface DesktopTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseTimePickerProps<TimeViewWithMeridiem>, DesktopOnlyPickerProps, DigitalTimePickerProps {
|
|
12
12
|
/**
|
|
13
13
|
* Available views.
|
|
14
14
|
*/
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { MobileDateTimePickerProps } from "./MobileDateTimePicker.types.js";
|
|
3
|
-
|
|
4
|
-
type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<DateOrTimeView, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
3
|
+
type MobileDateTimePickerComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
4
|
propTypes?: any;
|
|
6
5
|
};
|
|
7
6
|
/**
|
|
@@ -21,6 +21,10 @@ var _useMobilePicker = require("../internals/hooks/useMobilePicker");
|
|
|
21
21
|
var _dateViewRenderers = require("../dateViewRenderers");
|
|
22
22
|
var _timeViewRenderers = require("../timeViewRenderers");
|
|
23
23
|
var _dateTimeUtils = require("../internals/utils/date-time-utils");
|
|
24
|
+
var _dimensions = require("../internals/constants/dimensions");
|
|
25
|
+
var _MultiSectionDigitalClock = require("../MultiSectionDigitalClock");
|
|
26
|
+
var _utils2 = require("../internals/utils/utils");
|
|
27
|
+
var _DigitalClock = require("../DigitalClock");
|
|
24
28
|
/**
|
|
25
29
|
* Demos:
|
|
26
30
|
*
|
|
@@ -36,20 +40,26 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
|
|
|
36
40
|
|
|
37
41
|
// Props with the default values common to all date time pickers
|
|
38
42
|
const defaultizedProps = (0, _shared.useDateTimePickerDefaultizedProps)(inProps, 'MuiMobileDateTimePicker');
|
|
43
|
+
const renderTimeView = defaultizedProps.shouldRenderTimeInASingleColumn ? _timeViewRenderers.renderDigitalClockTimeView : _timeViewRenderers.renderMultiSectionDigitalClockTimeView;
|
|
39
44
|
const viewRenderers = (0, _extends2.default)({
|
|
40
45
|
day: _dateViewRenderers.renderDateViewCalendar,
|
|
41
46
|
month: _dateViewRenderers.renderDateViewCalendar,
|
|
42
47
|
year: _dateViewRenderers.renderDateViewCalendar,
|
|
43
|
-
hours:
|
|
44
|
-
minutes:
|
|
45
|
-
seconds:
|
|
48
|
+
hours: renderTimeView,
|
|
49
|
+
minutes: renderTimeView,
|
|
50
|
+
seconds: renderTimeView,
|
|
51
|
+
meridiem: renderTimeView
|
|
46
52
|
}, defaultizedProps.viewRenderers);
|
|
47
53
|
const ampmInClock = defaultizedProps.ampmInClock ?? false;
|
|
54
|
+
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
55
|
+
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
|
|
56
|
+
const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
|
|
48
57
|
|
|
49
58
|
// Props with the default values specific to the mobile variant
|
|
50
59
|
const props = (0, _extends2.default)({}, defaultizedProps, {
|
|
51
60
|
viewRenderers,
|
|
52
61
|
format: (0, _dateTimeUtils.resolveDateTimeFormat)(utils, defaultizedProps),
|
|
62
|
+
views,
|
|
53
63
|
ampmInClock,
|
|
54
64
|
slots: (0, _extends2.default)({
|
|
55
65
|
field: _DateTimeField.DateTimeField
|
|
@@ -62,7 +72,30 @@ const MobileDateTimePicker = exports.MobileDateTimePicker = /*#__PURE__*/React.f
|
|
|
62
72
|
}, defaultizedProps.slotProps?.toolbar),
|
|
63
73
|
tabs: (0, _extends2.default)({
|
|
64
74
|
hidden: false
|
|
65
|
-
}, defaultizedProps.slotProps?.tabs)
|
|
75
|
+
}, defaultizedProps.slotProps?.tabs),
|
|
76
|
+
layout: (0, _extends2.default)({}, defaultizedProps.slotProps?.layout, {
|
|
77
|
+
sx: (0, _utils2.mergeSx)([{
|
|
78
|
+
[`& .${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}`]: {
|
|
79
|
+
width: _dimensions.DIALOG_WIDTH
|
|
80
|
+
},
|
|
81
|
+
[`& .${_MultiSectionDigitalClock.multiSectionDigitalClockSectionClasses.root}`]: {
|
|
82
|
+
flex: 1,
|
|
83
|
+
// account for the border on `MultiSectionDigitalClock`
|
|
84
|
+
maxHeight: _dimensions.VIEW_HEIGHT - 1,
|
|
85
|
+
[`.${_MultiSectionDigitalClock.multiSectionDigitalClockSectionClasses.item}`]: {
|
|
86
|
+
width: 'auto'
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
[`& .${_DigitalClock.digitalClockClasses.root}`]: {
|
|
90
|
+
width: _dimensions.DIALOG_WIDTH,
|
|
91
|
+
maxHeight: _dimensions.VIEW_HEIGHT,
|
|
92
|
+
flex: 1,
|
|
93
|
+
[`.${_DigitalClock.digitalClockClasses.item}`]: {
|
|
94
|
+
justifyContent: 'center'
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}], defaultizedProps.slotProps?.layout?.sx)
|
|
98
|
+
})
|
|
66
99
|
})
|
|
67
100
|
});
|
|
68
101
|
const {
|
|
@@ -299,7 +332,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
299
332
|
* Used when the component view is not controlled.
|
|
300
333
|
* Must be a valid option from `views` list.
|
|
301
334
|
*/
|
|
302
|
-
openTo: _propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
|
|
335
|
+
openTo: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
303
336
|
/**
|
|
304
337
|
* Force rendering in particular orientation.
|
|
305
338
|
*/
|
|
@@ -375,6 +408,11 @@ MobileDateTimePicker.propTypes = {
|
|
|
375
408
|
* @default false
|
|
376
409
|
*/
|
|
377
410
|
showDaysOutsideCurrentMonth: _propTypes.default.bool,
|
|
411
|
+
/**
|
|
412
|
+
* If `true`, disabled digital clock items will not be rendered.
|
|
413
|
+
* @default false
|
|
414
|
+
*/
|
|
415
|
+
skipDisabled: _propTypes.default.bool,
|
|
378
416
|
/**
|
|
379
417
|
* The props used for each component slot.
|
|
380
418
|
* @default {}
|
|
@@ -389,6 +427,22 @@ MobileDateTimePicker.propTypes = {
|
|
|
389
427
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
390
428
|
*/
|
|
391
429
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
430
|
+
/**
|
|
431
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
432
|
+
* @default 24
|
|
433
|
+
*/
|
|
434
|
+
thresholdToRenderTimeInASingleColumn: _propTypes.default.number,
|
|
435
|
+
/**
|
|
436
|
+
* The time steps between two time unit options.
|
|
437
|
+
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
438
|
+
* When single column time renderer is used, only `timeStep.minutes` will be used.
|
|
439
|
+
* @default{ hours: 1, minutes: 5, seconds: 5 }
|
|
440
|
+
*/
|
|
441
|
+
timeSteps: _propTypes.default.shape({
|
|
442
|
+
hours: _propTypes.default.number,
|
|
443
|
+
minutes: _propTypes.default.number,
|
|
444
|
+
seconds: _propTypes.default.number
|
|
445
|
+
}),
|
|
392
446
|
/**
|
|
393
447
|
* Choose which timezone to use for the value.
|
|
394
448
|
* Example: "default", "system", "UTC", "America/New_York".
|
|
@@ -407,7 +461,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
407
461
|
* Used when the component view is controlled.
|
|
408
462
|
* Must be a valid option from `views` list.
|
|
409
463
|
*/
|
|
410
|
-
view: _propTypes.default.oneOf(['day', 'hours', 'minutes', 'month', 'seconds', 'year']),
|
|
464
|
+
view: _propTypes.default.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
411
465
|
/**
|
|
412
466
|
* Define custom view renderers for each section.
|
|
413
467
|
* If `null`, the section will only have field editing.
|
|
@@ -416,6 +470,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
416
470
|
viewRenderers: _propTypes.default.shape({
|
|
417
471
|
day: _propTypes.default.func,
|
|
418
472
|
hours: _propTypes.default.func,
|
|
473
|
+
meridiem: _propTypes.default.func,
|
|
419
474
|
minutes: _propTypes.default.func,
|
|
420
475
|
month: _propTypes.default.func,
|
|
421
476
|
seconds: _propTypes.default.func,
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-internals/types';
|
|
2
2
|
import { UseMobilePickerSlots, ExportedUseMobilePickerSlotProps, MobileOnlyPickerProps } from "../internals/hooks/useMobilePicker/index.js";
|
|
3
3
|
import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from "../DateTimePicker/shared.js";
|
|
4
|
-
import { DateOrTimeView } from "../models/index.js";
|
|
5
|
-
import { DateOrTimeViewWithMeridiem } from "../internals/models/index.js";
|
|
6
4
|
export interface MobileDateTimePickerSlots extends BaseDateTimePickerSlots, MakeOptional<UseMobilePickerSlots, 'field'> {}
|
|
7
5
|
export interface MobileDateTimePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimePickerSlotProps, ExportedUseMobilePickerSlotProps<TEnableAccessibleFieldDOMStructure> {}
|
|
8
|
-
export interface MobileDateTimePickerProps<
|
|
6
|
+
export interface MobileDateTimePickerProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends BaseDateTimePickerProps, MobileOnlyPickerProps {
|
|
9
7
|
/**
|
|
10
8
|
* Overridable component slots.
|
|
11
9
|
* @default {}
|
|
@@ -161,7 +161,9 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
|
|
|
161
161
|
label: label,
|
|
162
162
|
name: name,
|
|
163
163
|
role: "group",
|
|
164
|
-
"aria-labelledby": inputLabelId
|
|
164
|
+
"aria-labelledby": inputLabelId,
|
|
165
|
+
"aria-describedby": helperTextId,
|
|
166
|
+
"aria-live": helperTextId ? 'polite' : undefined
|
|
165
167
|
}, InputProps)), helperText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormHelperText.default, (0, _extends2.default)({
|
|
166
168
|
id: helperTextId
|
|
167
169
|
}, FormHelperTextProps, {
|