[Select][material-next] Add Select component
Open
Nobody has claimed this yet.
design: material you
on hold
scope: select
- Dominant language
- JavaScript
- Stars
- 99.1k
- Forks
- 32.5k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 106
Description
Part of https://github.com/mui/material-ui/issues/29345
Material You specs: https://m3.material.io/components/menus/specs
Migration Guide checklist
- Copy component files from material (v5) to material-next, including tests, types, and utils: PR: #39188
- Migrate component to Typescript
- Remove deprecated components and componentsProps props, leaving only slots and slotProps
- Drop support for ThemeProvider in favor of CssVarsProvider
- Refactor component to use Base UI’s
useSelect: WIP #39591 - Implement Material You design specs
- Add component playground to v5 docs
- Refactor styles to use component CSS Variables
Other features & related tasks
- Introduce a new
Optioncomponent based on@mui/base/useOption - Introduce a new (internal)
Menubased on@mui/base/useMenufor the Select's listbox nativeprop for nativeselectisn't provided by Base yet- FormControl integration https://github.com/mui/material-ui/issues/38411
- Replace Input dependencies with
material-nextInput components when those are done: https://github.com/mui/material-ui/issues/38374 useSelectusesuseControlledReducerinternally, the warning when switching between controlled/uncontrolled needs to be added back (this comment)- Support for
Dividerhttps://github.com/mui/material-ui/issues/39007 - Option grouping - v5 uses
ListSubheader, should v6 replace it with aOptionGroupcomponent? (This would be a breaking change, and also not in the MD3 spec) - New
SelectFieldcomponent https://github.com/mui/material-ui/issues/21782 - Avoid native
labelwith non-nativeSelecthttps://github.com/mui/material-ui/issues/38869#issuecomment-1792184844
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.