What is @mui/material?
The @mui/material package is a React component library that implements Google's Material Design. It provides a robust, customizable, and accessible collection of components that can be used to build a wide range of user interfaces for web applications.
What are @mui/material's main functionalities?
UI Components
This feature provides pre-built UI components such as buttons, cards, dialogs, and more, which can be easily imported and used in a React application.
import Button from '@mui/material/Button';
function App() {
return <Button variant='contained'>Click Me</Button>;
}
Layout Components
This feature includes components for creating layouts, such as containers and grid systems, to help organize the content on the page.
import Container from '@mui/material/Container';
import Grid from '@mui/material/Grid';
function App() {
return (
<Container>
<Grid container spacing={2}>
<Grid item xs={12} sm={6}>
Content 1
</Grid>
<Grid item xs={12} sm={6}>
Content 2
</Grid>
</Grid>
</Container>
);
}
Theming
This feature allows for customization of the look and feel of components through theming, enabling developers to define color schemes, typography, and other design elements.
import { createTheme, ThemeProvider } from '@mui/material/styles';
import Button from '@mui/material/Button';
const theme = createTheme({
palette: {
primary: {
main: '#556cd6',
},
},
});
function App() {
return (
<ThemeProvider theme={theme}>
<Button color='primary'>Themed Button</Button>
</ThemeProvider>
);
}
Icons
This feature provides a large set of icons that can be used in conjunction with other components or standalone.
import AccessAlarmIcon from '@mui/icons-material/AccessAlarm';
function App() {
return <AccessAlarmIcon />;
}
Other packages similar to @mui/material
antd
Ant Design (antd) is a design system for enterprise-level products. It includes a set of high-quality React components and is similar to @mui/material in providing a comprehensive UI toolkit. Ant Design focuses more on enterprise applications and has a different design language compared to Material Design.
react-bootstrap
React Bootstrap is a React component library that rebuilds the Bootstrap components with React. It offers a different set of components and utilities that adhere to the Bootstrap framework, which has a distinct look and feel from Material Design.
semantic-ui-react
Semantic UI React is the official React integration for Semantic UI. It is similar to @mui/material in that it provides a number of pre-built components, but it follows the design principles of Semantic UI, which differ from Material Design.
chakra-ui
Chakra UI is a simple, modular, and accessible component library that gives you the building blocks to build your React applications. It is similar to @mui/material in its goals but offers a different design system and a focus on simplicity and accessibility.
MUI
Installation
MUI is available as an npm package.
Stable channel v5
// with npm
npm install @mui/material @emotion/react @emotion/styled
// with yarn
yarn add @mui/material @emotion/react @emotion/styled
Older versions
Please note that @next
will only point to pre-releases; to get the latest stable release use @latest
instead.
Diamond 💎
Diamond Sponsors are those who have pledged $1,500/month or more to MUI.
Gold 🏆
via OpenCollective or via Patreon
Gold Sponsors are those who have pledged $500/month or more to MUI.
There is more
See the full list of our backers.
Usage
Here is a quick example to get you started, it's all you need:
import React from 'react';
import ReactDOM from 'react-dom';
import Button from '@mui/material/Button';
function App() {
return (
<Button variant="contained" color="primary">
Hello World
</Button>
);
}
ReactDOM.render(<App />, document.querySelector('#app'));
Yes, it's really all you need to get started as you can see in this live and interactive demo:
Questions
For how-to questions and other non-issues,
please use StackOverflow instead of GitHub issues.
There is a StackOverflow tag called "material-ui" that you can use to tag your questions.
Examples
Are you looking for an example project to get started?
We host some.
Documentation
Check out our documentation website.
Premium Themes
You can find complete templates & themes in the MUI Store.
Contributing
Read the contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to MUI.
Notice that contributions go far beyond pull requests and commits.
Although we love giving you the opportunity to put your stamp on MUI, we also are thrilled to receive a variety of other contributions.
Changelog
If you have recently updated, please read the changelog for details of what has changed.
Roadmap
The future plans and high priority features and enhancements can be found in the roadmap file.
License
This project is licensed under the terms of the
MIT license.
These great services sponsor MUI's core infrastructure:
GitHub allows us to host the Git repository and coordinate contributions.
Netlify allows us to distribute the documentation.
CrowdIn allows us to translate the documentation.
BrowserStack allows us to test in real browsers.
CodeCov allows us to monitor the test coverage.