Comments (5)
There is another instance that overwritten styles by using styled
is preceded by default values.
This happens on compile time, which is maybe different from a dynamic component like popper
our `babel.rc` settings
{
"presets": ["react-app"],
"plugins": [
[
"babel-plugin-import",
{
"libraryName": "@material-ui/core",
"libraryDirectory": "esm",
"camel2DashComponentName": false
},
"core"
],
[
"babel-plugin-import",
{
"libraryName": "@material-ui/icons",
"libraryDirectory": "esm",
"camel2DashComponentName": false
},
"icons"
],
"babel-plugin-styled-components",
"babel-plugin-tsconfig-paths-module-resolver",
[
"@emotion",
{
"importMap": {
"@mui/system": {
"styled": {
"canonicalImport": ["@emotion/styled", "default"],
"styledBaseImport": ["@mui/system", "styled"]
}
},
"@mui/material/styles": {
"styled": {
"canonicalImport": ["@emotion/styled", "default"],
"styledBaseImport": ["@mui/material/styles", "styled"]
}
}
}
}
]
],
"compact": false
}
from material-ui.
Is there any way to explicitly not make jss styles not precede MUIv5 styling? Styles are overwritten by global class names..
from material-ui.
@mnajdova Do you have pointers for this? I see that the jss style
tag gets added last, overriding the emotion styles.
from material-ui.
OK, i seem to have found a solution for this.
Still would like to hear about gotchas
Reproduction
wrapping my app with <StylesProvider injectFirst>
imported from MUIv4 package seems to solve it. If this is not done already on ann App that needs migrating, it seems necessary to not inject jss after emotion styles.
import { StylesProvider } from "@material-ui/core/styles";
export default function App( ) {
return (
<StylesProvider injectFirst>
<Components/>
<OtherComponents/>
<StylesProvider/>
)
}
referred from the old documents
https://v4.mui.com/guides/interoperability/#controlling-priority-5
This will be gone as soon MUIv4 packages are all replaced in our app
from material-ui.
I dont know if this is high occurrence, but might be a good note to add in the migration troubleshoot page ?
https://mui.com/material-ui/migration/troubleshooting/
from material-ui.
Related Issues (20)
- [material-ui][Text Field] Label gap is too big HOT 7
- [material-ui][Autocomplete] Options list scrolls to the top if more options are added after pulling the scroll handle to the bottom HOT 7
- [material-ui] Use direct import from utils package
- [base-ui][material-ui] Uncontrolled Autocomplete component do not fully reset when inside a <form> with a reset button HOT 1
- [material-ui] Uncontrolled TextField components fail to reset, and their floating labels don't return to default in a <form> with a reset button HOT 1
- [material-ui][Typography] Font size issue with the `h4` variant when using it with `responsiveFontSizes( )`
- [material-ui] Components with design & DX improvements waiting for a major release
- [material-ui][Alert] Adding additional color variant breaks `iconMapping` for all colors HOT 6
- [docs] Demo VirtualElementPopover crashes HOT 1
- [material-ui][Accordion] First/Last of type styles do not work with other components as siblings HOT 2
- Add a Cascader component HOT 3
- [material-ui][Tooltip] Multiple tooltip sporadic repositioning with disablePortal and keepMounted true HOT 1
- [material-ui][Button] Text is not vertically centered HOT 1
- [system][Box] Add a `inset` prop for absolute positioning HOT 5
- [material-ui] Broken links in the All components page HOT 2
- [material-ui][Avatar Group] Spacing prop doesn't apply correct margin in RTL HOT 3
- [material-ui][docs] Component index icons should be blue, not purple HOT 3
- [material-ui] Linear progress is not working as expected for RTL HOT 1
- [base-ui][Tabs] Missing reference for RTL keyboard navigation direction
- [material-ui][Table] Add an export data button component HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from material-ui.