Skip to content

High performance and fully customizable React Components that Implement Google's Material Design by default.

License

Notifications You must be signed in to change notification settings

Mamoru1234/elementary-ui

Repository files navigation

#Elementary-UI npm package Build Status Gitter

PeerDependencies Dependencies DevDependencies

Elementary-UI is a set of React hight performance and fully customizable React Components that implement
Google's Material Design specification by default.

Check out our documentation site for live examples. It's still a work in progress, but hopefully you can see where we're headed.

Recently Updated? Please read the changelog, this README and the documentation before posting an issue.

Prerequisites

We recommend that you get to know React before diving into elementary-ui. Elementary-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.)

Installation

Elementary-UI is available as an npm package.

Stable channel

npm install elementary-ui

Our next version (0.1.0) is coming soon!

**Pre-release channel **

npm install elementary-ui@next

React-Tap-Event-Plugin

Some components use react-tap-event-plugin to listen for touch events because onClick is not fast enough This dependency is temporary and will eventually go away. Until then, be sure to inject this plugin at the start of your app.

import injectTapEventPlugin from 'react-tap-event-plugin';

// Needed for onTouchTap
// http://stackoverflow.com/a/34015469/988941
injectTapEventPlugin();

Roboto Font

Elementary-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.

Usage

Elementary-UI components are easy to use.

Here is a quick example to get you started:

./App.js

import React from 'react';
import ReactDOM from 'react-dom';
import MyAwesomeReactComponent from './MyAwesomeReactComponent';

const App = () => (
  <MyAwesomeReactComponent />
);

ReactDOM.render(
  <App />,
  document.getElementById('app')
);

./MyAwesomeReactComponent.js

import React from 'react';
import RaisedButton from 'elementary-ui/RaisedButton';

const MyAwesomeReactComponent = () => (
  <RaisedButton label="Default" />
);

export default MyAwesomeReactComponent;

Please refer to each component's documentation page to see how they should be imported.

Customization

We have implemented a default theme to render all Elementary-UI components. Styling components to your liking is simple and hassle-free. This can be achieved in the following two ways:

Examples

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 elementary-ui components in your own project. Projects use 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 elementary-ui component. Check out the docs folder for build instructions.

Roadmap

The future plans and high priority features and enhancements can be found in the ROADMAP.md file.

Contribute

Elementary-UI came about from our love of React and Google's Material Design. We'd greatly appreciate any contribution you make. :)

License

This project is licensed under the terms of the MIT license

About

High performance and fully customizable React Components that Implement Google's Material Design by default.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published