Migration Guide for v2.x -> v3.0.0
MaterialUi is now Mui
We changed the namespace from MaterialUi
to Mui
in 3.0.0 for the following
reasons:
- Nice and short 🙂
- Material-UI rebranded to MUI
- Now that we are using the
namespace
feature, it is not possible anymore to "alias" theMaterialUi
module toMui
usinginclude MaterialUi
. This gives the following error:Mui is compiled in script mode while its dependent is not
. - 3.0.0 already has other breaking changes anyway.
Furthermore, the lab bindings now have their own namespace under MuiLab
.
Bindings changes
These are mainly due to the stricter focus on zero-cost bindings.
Mangled names utilize the \""
-syntax now
e.g. _InputProps
is now \"InputProps"
, _type="number"
is now
\"type"="number"
.
Polymorphic variants are now all lowercase
e.g. color=#Primary
is now color=#primary
.
any
and anyUnpack
have been replaced
These type helpers now reside under Mui.Any
. Refer to
Any.
Children types are more specific
Previously it was possible to put arbitrary types (such as strings) into
children. Now the children type is React.element
, which streamlines this
library to the rescript-react
bindings.
Therefore, you now need to wrap strings with the React.string
function, or
pass arrays to React.array
.
FAQ
Did we miss anything?
If there are any problems with this new release, feel free to open an issue.
Will you upgrade to v5 as well?
We are in no rush to do it, because we currently use v4 in most of our projects. If we ever feel the need to upgrade, we will upgrade this repository accordingly.