RFC: material-ui-pickers v4
See original GitHub issueBreaking changes
We are on the way to v4. It is required to make another major release independently of @material-ui/core team. Here what I am planning to release
Material design v2 update
Material design guidelines was updated with new reference for date/time pickers reference
Here is new UI sneak peek This looks really strange:
Also as you can see this spec contains a design for the date-range picker. So possible new release should also include #364
P.S. It looks like we need to redesign literally everything. So will need as many help as possible
Improved mask and keyboard mode
Updating to the new rifm version will allow us to resolve #1144 and #1289. And also new release will make possible to make a major update of date-io library with an automatic insert of keyboard-friendly formats
Changes for variants
Right now we have inline
and dialog
option. Due to changes in material design spec I propose to have variants mobile
and desktop
and accept them automatically, on the flight.
And also we want to make inline
or desktop
variant to be primarily supported instead of the mobile one.
Any discussion is appreciated 😃 @oliviertassinari
Issue Analytics
- State:
- Created 4 years ago
- Reactions:220
- Comments:49 (17 by maintainers)
Top GitHub Comments
Given the date picker was our number one requested focus on the last developer survey. Take this example, a good date picker can be an entry point for the adoption of Material-UI.
I’m determined to make sure that we allocate enough resources to this problem. Most notably, I have proposed that Material-UI financially support @dmtrKovalenko to push the concern forward.
(Notice that we evaluate a similar effort for the datatables problem, A significant difference is that Material-UI can directly monetize paid advanced features like ag-grid, dev-express, syncfusion, kendo, sencha, etc do.)
Benchmark
I have used the following sources to benchmark:
Proposal
I would recommend the following:
MuiPickersUtilsProvider
, depend on dayjs or date-fns by default, depending on what’s smaller by default.theme.props.MuiDatePicker.dateUtils
to provide an adapter for moment or date-fns with @date-io.disabledKeyboard=false
, I think that the Calendar should take precedence for the handling of the arrow keys over the input.DatePicker
. Then, consider how to break it down is reusable pieces.References
I have kept track of some visual clue for the above proposal. You fill find features or components that have associated link with the benchmark sources.
YearPicker
material.io
antd
TimePicker
kendo
antd
kendo
antd
showWeekNumbers=true
bootstrap
antd
showInputClear=true
gmail
showCalendarToday=true
antd
blueprint
syncfusion
showCalendarClear=true
blueprint
rangeShortcuts=true
blueprint
google ads
airbnb
range=true
material.io
less important feature
MonthPicker
disableHighlightToday=false
bootstrap
material.io
DayPicker
material.io
confirm=true
antd
google analytics
google ads
Calendar
material.io
monthsShown=2
material.io
monthsShown=3
google analytics
This is meant as a sketch of what the next steps could look like. Feedback appreciated. cc @mui-org/core-contributors
The first prerelease is ready! https://github.com/mui-org/material-ui-pickers/releases/tag/v4.0.0-alpha.1 Would like to hear any feedback ❤️