All Base components were exported from the @mui/material package and treated as stable even though the @mui/base package is in development. It could create a lot of confusion if developers start using Base components, depend on them, and demand quality found in "proper" Material components. We admit it was a mistake to reexport these components without marking them as unstable.
Developers are still encouraged to evaluate the Base components, but they should do so by explicitly installing the @mui/base package.
This is technically a breaking change as it removes a number of components from the @mui/material package. However, we believe that removing the components now and potentially breaking the codebases will do less harm than introducing "silent" breaking changes to Base components while continuing reexporting them from @mui/material.
Note: the utility components, such as ClickAwayListener, NoSsr, Portal, and TextareaAutosize continue to be exported from both @mui/material and @mui/base.
If you're encountering build errors after upgrading @mui/material, do the following:
Install @mui/base: npm install @mui/base or yarn add @mui/base
Make sure the version of @mui/base match the version of @mui/material
Change the import paths of unstyled components from @mui/material to @mui/base, e.g.:
- @import ButtonUnstyled from '@mui/material/ButtonUnstyled';
+ @import ButtonUnstyled from '@mui/base/ButtonUnstyled';
All Base components were exported from the @mui/material package and treated as stable even though the @mui/base package is in development. It could create a lot of confusion if developers start using Base components, depend on them, and demand quality found in "proper" Material components. We admit it was a mistake to reexport these components without marking them as unstable.
Developers are still encouraged to evaluate the Base components, but they should do so by explicitly installing the @mui/base package.
This is technically a breaking change as it removes a number of components from the @mui/material package. However, we believe that removing the components now and potentially breaking the codebases will do less harm than introducing "silent" breaking changes to Base components while continuing reexporting them from @mui/material.
Note: the utility components, such as ClickAwayListener, NoSsr, Portal, and TextareaAutosize continue to be exported from both @mui/material and @mui/base.
If you're encountering build errors after upgrading @mui/material, do the following:
Install @mui/base: npm install @mui/base or yarn add @mui/base
Make sure the version of @mui/base match the version of @mui/material
Change the import paths of unstyled components from @mui/material to @mui/base, e.g.:
- @import ButtonUnstyled from '@mui/material/ButtonUnstyled';
+ @import ButtonUnstyled from '@mui/base/ButtonUnstyled';
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps @mui/material from 5.3.1 to 5.4.0.
Release notes
Sourced from
@mui/material
's releases.... (truncated)
Changelog
Sourced from
@mui/material
's changelog.... (truncated)
Commits
ba4e819
v5.4.0 (#30855)33d7108
[core] Do not reexport Base from Material (#30853)8b1eb5a
[TextField] Remove notch when no label is added (#30560)29b9ee8
[Grid] Fix prop check for applying wrap-reverse (#30813)e048459
[docs] Change ThemeProvider API links (#30705)0436605
[pickers] Enable the sx props on all components (#30749)c987cfb
[useMediaQuery] Ensure no tearing in React 18 (#30655)fce6e59
[FormControlLabel][FormGroup] add Mui-error class (#30656)8cf69de
[TextField] Remove usage of dangerouslySetInnerHTML (#30776)5cf97e0
[Autocomplete] AddreadOnly
prop (#30706)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)