react-animated-menuicon
Version:
An animated hamburger menu icon in React
129 lines (103 loc) • 2.33 kB
Markdown
<h1 align='center'> React Animated Menu-icon</h1>
A customizable React Menu-icon. You can choose the size, animation and color of the icon.
## Install
``` npm install react-animated-menuicon ```
## Imports
``` import { MenuIcon, useMenuIcon } from 'react-animated-menuicon' ```
- useMenuIcon is a hook that must be bound to MenuIcon
- MenuIcon is the component to be used in JSX. It expects all the methods given my useMenuIcon
## Full example
```
import { MenuIcon, useMenuIcon } from 'react-animted-menuicon';
function Navbar() {
const methods = useMenuIcon({
size: 'md',
color: '#008080',
type: 'spin'
});
return (
<nav>
<MenuIcon {...methods} />
</nav>
);
}
```
## How to use
Hook -
```
const methods = useMenuIcon({}); // you must pass in an empty {} for all base properties
```
Component -
```
<MenuIcon {...methods} />
```
## Properties
<table>
<tr>
<th colspan=2>Available Sizes</th>
</tr>
<tr>
<td>sm</td>
<td>1rem</td>
</tr>
<tr>
<td>md</td>
<td>2rem</td>
</tr>
<tr>
<td>lg</td>
<td>2.5rem</td>
</tr>
<tr>
<td>xl</td>
<td>3rem</td>
</tr>
<tr>
<td>custom</td>
<td>1em</td>
</tr>
</table>
```
const methods = useMenuIcon({
size: 'sm'
})
```
Sizes expects a string value to be passed in. If the sm-xl sizes are a bit different than whats needed, use the custom property and wrap the MenuIcon component in a HTML tag with the correct text size property.
### Custom example:
```
const methods = useMenuIcon({ size: 'custom' });
<span style={{ fontSize: '23px' }}>
<MenuIcon {...methods} /> // will have a width/height of 23px
</span>
```
<table>
<tr>
<th>Available Types</th>
</tr>
<tr>
<td>base</td>
</tr>
<tr>
<td>spin</td>
</tr>
</table>
```
const methods = useMenuIcon({
type: 'spin'
})
```
Currently, only two animations are available: base and spin. If no value is passed, the component will default to base.
<table>
<tr>
<th>Available Colors</th>
</tr>
<tr>
<td>any</td>
</tr>
</table>
```
const methods = useMenuIcon({
color: 'red'
})
```
Colors expects any valid color, in any form. If you're using hexcode, please make sure to include the #. If no valid color is passed in, it will default to black (#000000).