Material-UI is a set of React components that implement Google's Material Design specification.
Check out our documentation site for live examples. It's still a work in progress, but hopefully you can see where we're headed.
We recommend that you get to know React before diving into material-ui. Material-UI is a set of React components, so understanding how React fits into web development is important.
(If you're not familiar with Node, or with the concept of Single Page Applications (SPAs), head over to the documentation website for a quick introduction before you read on.)
Material-UI is available as an npm package.
npm install material-ui
After npm install, you'll find all the .jsx files in the /src folder and their compiled versions in the /lib folder.
Some components use react-tap-event-plugin to listen for touch events. This dependency is temporary and will go away once react v1.0 is released. Until then, be sure to inject this plugin at the start of your app.
let injectTapEventPlugin = require("react-tap-event-plugin");
//Needed for onTouchTap
//Can go away when react 1.0 release
//Check this repo:
//https://github.com/zilverline/react-tap-event-plugin
injectTapEventPlugin();
Material-UI was designed with the Roboto font in mind. So be sure to include it in your project. Here are some instructions on how to do so.
Using material-ui components is very straightforward. Once material-ui is included in your project, you can use the components this way:
//Basic React component that renders a material-ui
//raised button with the text "Default"
const React = require('react');
const RaisedButton = require('material-ui/lib/raised-button');
const MyAwesomeReactComponent = React.createClass({
render() {
return (
<RaisedButton label="Default" />
);
},
});
module.exports = MyAwesomeReactComponent;
We have implemented a default theme to render all Material-UI components. Styling components to your liking is simple and hassle-free. This can be achieved in the following two ways:
There are 2 projects that you can look at to get started. They can be found in the examples folder. These projects are basic examples that show how to consume material-ui components in your own project. The first project uses browserify for module bundling and gulp for JS task automation, while the second project uses webpack for module bundling and building.
The source code for this documentation site is also included in the repository. This is a slightly more complex project that also uses webpack, and contains examples of every material-ui component. Check out the docs folder for build instructions.
Material-UI came about from our love of React and Google's Material Design. We're currently using it on a project at Call-Em-All and plan on adding to it and making it better. If you'd like to help, check out the docs folder. We'd greatly appreciate any contribution you make. :)
This project is licensed under the terms of the MIT license