react-icons
Version:
svg react icons of popular icon packs using ES6 imports
91 lines (60 loc) • 3.43 kB
Markdown
<img src="https://rawgit.com/gorangajic/react-icons/master/react-icons.svg" width="60" alt="React Icons">
## [React Icons](http://gorangajic.github.io/react-icons/index.html)
Include popular icons in your React projects easly with ```react-icons```, which utilizes ES6 imports that allows you to include only the icons that your project is using.
### Installation
npm install react-icons --save
### Usage
```javascript
import FaBeer from 'react-icons/fa/beer';
class Question extends React.Component {
render() {
return <h3> Lets go for a <FaBeer />? </h3>
}
}
````
If you are not using es6 compiler like [babel](https://babeljs.io/) or [rollup.js](http://rollupjs.org/), it's possible to include icons from the compiled folder ```./lib```. Babel by [default](http://babeljs.io/docs/usage/require/#usage) will ignore ```node_modules``` so if you don't want to change the settings you will need to use files from ```./lib```
```javascript
var FaBeer = require('react-icons/lib/fa/beer');
var Question = React.createClass({
render: function() {
return React.createElement('h3', null,
' Lets go for a ', React.createElement(FaBeer, null), '? '
);
}
});
```
You can include icons directly from ```react-icons``` using ```import FaBeer from 'react-icons'```, but you should wait to Webpack 2 [implement](https://twitter.com/dan_abramov/status/656970508005736448) dead code elimination based on es6 imports.
Also it's possible to include the whole icon pack from:
```javascript
import * as FontAwesome from 'react-icons/fa'
```
or import multiple icons from the same pack
```javascript
import {MdCancel, MdChat, MdCheck} from 'react-icons/md';
```
every icon pack is in their own folder
* Material Design Icons => ./md
* FontAwesome => ./fa
* Typicons => ./ti
* Github Octicons => ./go
* Ionicons => ./io
to view all icons visit [docs](http://gorangajic.github.io/react-icons/)
### Icons
Currently supported icons are:
* Material Design Icons by Google https://www.google.com/design/icons/ (licence: [CC-BY 4.0](https://github.com/google/material-design-icons/blob/master/LICENSE))
* Font Awesome by Dave Gandy - http://fontawesome.io (licence: [SIL OFL 1.1](http://scripts.sil.org/OFL))
* Typicons by Stephen Hutchings - http://typicons.com (licence: [CC BY-SA](http://creativecommons.org/licenses/by-sa/3.0/))
* Github Octicons icons by Github https://octicons.github.com/ (licence: [SIL OFL 1.1](https://github.com/github/octicons/blob/master/LICENSE.txt)
* Ionicons by Ionic Framework - http://ionicons.com (licence: [MIT](https://github.com/driftyco/ionicons/blob/master/LICENSE))
You can add more icons by submitting pull requests or creating issues.
### Contribution
Just add svg icons in ```./icons/:icons-name``` folder and create pull request again ```develop``` after merge I will generate React components because this process is not fully automated yet.
### svg ?
Svg is [supported](http://caniuse.com/#search=svg) by all major browsers.
### Why es6 import and not fonts?
With ```react-icons```, you can send icons that are specified instead of one big font file to the users, helping you to recognize which icons are used in your project.
## Related
- [react-svg-morph](https://github.com/gorangajic/react-svg-morph/)
### Licence
MIT
* Icons are taken from the other projects so please check each project licences accordingly.