npm package: @material-inborn/icons
Description: a material design icons component for react native (MDC ReactNative)
Author: Quadri Adekunle
Latest version: 1.3.0

# @material-inborn/icons
A material design icons component for react native (MDC ReactNative). Guidelines from https://material.io

This package provides the Google [Material icons](https://material.io/tools/icons/) packaged as a set of [React](https://facebook.github.io/react/) components.

## Installation

Install the package in your project directory with:

```sh
npm install @material-inborn/icons

// with yarn
yarn @material-inborn/icons
```

These components use the MaterialInborn-UI [Svg](https://github.com/material-inborn/ui) component to
render the SVG path for each icon which relies on [`react-native-svg`](https://github.com/react-native-community/react-native-svg) to provide support for Svg in `react-native`, and so a have a peer-dependency on the `next` release of Material-UI.

If you are not already using MaterialInborn-UI in your project, you can add it with:

```sh
// with npm
npm install @material-inborn/ui

// with yarn
yarn add @material-inborn/ui
```

Because react native does not support svg native, we have to use a provided package to give support for svg in react native [`react-native-svg`](https://github.com/react-native-community/react-native-svg)

```sh
// with npm
npm install react-native-svg

// with yarn
yarn add react-native-svg
```

Depending on your `react` and `react-native` version, you will have to install the compatible version of the package in you project and link properly, [read the documentation here](https://github.com/react-native-community/react-native-svg).

After installing the package you will have link the native dependencies. To link automatically you can run `react-native link react-native-svg` or read the documentation to link it manually on the `react-native-svg` repo

## Usage

You can use [material.io/tools/icons](https://material.io/tools/icons/?style=baseline) to find a specific icon.
When importing an icon, keep in mind that the names of the icons are `PascalCase`, for instance:
- [`delete`](https://material.io/tools/icons/?icon=delete&style=baseline) is exposed as `@material-inborn/icons/Delete`
- [`delete forever`](https://material.io/tools/icons/?icon=delete_forever&style=baseline) is exposed as `@material-inborn/icons/DeleteForever`

For *"themed"* icons, append the theme name to the icon name. For instance with the
- The Outlined [`delete`](https://material.io/tools/icons/?icon=delete&style=outline) icon is exposed as `@material-inborn/icons/DeleteOutlined`
- The Rounded [`delete`](https://material.io/tools/icons/?icon=delete&style=rounded) icon is exposed as `@material-inborn/icons/DeleteRounded`
- The Two Tone [`delete`](https://material.io/tools/icons/?icon=delete&style=twotone) icon is exposed as `@material-inborn/icons/DeleteTwoTone`
- The Sharp [`delete`](https://material.io/tools/icons/?icon=delete&style=sharp) icon is exposed as `@material-inborn/icons/DeleteSharp`

There are three exceptions to this rule:
- [`3d_rotation`](https://material.io/tools/icons/?icon=3d_rotation&style=baseline) is exposed as `@material-inborn/icons/ThreeDRotation`
- [`4k`](https://material.io/tools/icons/?icon=4k&style=baseline) is exposed as `@material-inborn/icons/FourK`
- [`360`](https://material.io/tools/icons/?icon=360&style=baseline) is exposed as `@material-inborn/icons/ThreeSixty`

## Imports
```jsx
import { AccessAlarm, ThreeDRotation } from '@material-inborn/icons';
```

## TODO
- Support for tree shaking for the package to import the only needed part of the package. We have already made attempt to implement `babel-module-resolver` but it seems not to work, if you can be lucky one to help solve we will be so glad.

## Note
This package on;y provide support for material icons, if you want to use other icons or custom icons we suggest you read the documentation on `material-inborn-ui` library which house the full implementation of the package and provide a resource for implementing your own svg based icons or font based icon.