Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
material-ui
Advanced tools
![Gitter](https://badges.gitter.im/Join Chat.svg)
Material-UI is a CSS framework and 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 started with the React Library before diving into material-ui for a better understanding. Should you choose to skip this, don't worry, we'll explain relevant React concepts as they come along.
Material-UI is available as an npm package.
npm install material-ui
Use browserify and reactify for dependency management and JSX transformation. The CSS framework is written in Less, so you'll need to compile that as well. For Sass users, material-ui-sass contains the .scss version of the Less framework. People working with Stylus can use material-ui-stylus to import the proper .styl version of the files.
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.
var 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();
Be sure to include the Roboto font in your project. Here are some instructions on how to include it in your project.
Once material-ui is included in your project, you can use the components this way:
/** MyAwesomeReactComponent.jsx */
var React = require('react'),
mui = require('material-ui'),
RaisedButton = mui.RaisedButton;
var MyAwesomeReactComponent = React.createClass({
render: function() {
return (
<RaisedButton label="Default" />
);
}
});
module.exports = MyAwesomeReactComponent;
The styles are separated into 2 less files:
This allows you to override any variables defined in custom-variables.less without having to modify material-ui source files directly. For example, your main.less file could look something like this:
@import "node_modules/material-ui/src/less/scaffolding.less";
//Define a custom less file to override any variables defined in scaffolding.less
@import "my-custom-overrides.less";
@import "node_modules/material-ui/src/less/components.less";
There are 2 projects that you can look at to help you get started. The first project can be found in the example folder. This is a basic project that shows how you can consume material-ui components in your own project.
The second project is the actual documentation site. This is a more complex project but will give examples of every 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
FAQs
React Components that Implement Google's Material Design.
The npm package material-ui receives a total of 33,741 weekly downloads. As such, material-ui popularity was classified as popular.
We found that material-ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.