# Plugin Menu library
```js
// ...
import PluginLeftMenu from 'components/PluginLeftMenu';
// ...
const Foo = props => {
  const sections = [
    {
      name: 'section 1',
      items: [
        { icon: 'fa-caret-square-o-right', name: 'link 1' },
        { icon: 'fa-caret-square-o-right', name: 'link 2' },
      ],
    },
  ];
  return (
    
  );
};
export default Foo;
// ...
```
## Usage
| Property           | Type     | Required | Description                                                                                  |
| :----------------- | :------- | :------- | :------------------------------------------------------------------------------------------- |
| `addCustomSection` | function | no       | Allows to add another section after the initial one.                                         |
| `basePath`         | string   | yes      | For example the basePath of the route '/plugins/my-plugin/foo/bar' is 'my-plugin/categories' |
| `renderCustomLink` | function | no       | Allows to override the design and the behavior of a link                                     |
| `sections`         | array    | yes      | Sections of the component menu                                                               |
## Example
```js
// ...
import PluginLeftMenu from 'components/PluginLeftMenu';
// ...
const addCustomSection = sectionStyles => (
  // You have access to the section styles
  
);
const renderAddLink = (props, customLinkStyles) => (
  
    
  
);
const renderCustomLink = (props, linkStyles) => {
  if (props.link.name === 'bar') return this.renderAddLink(props, linkStyles);
  return (
    
      
        
          
        
        
          {props.link.name}
        
      
    
  );
};
const Foo = props => {
  const sections = [
    {
      name: 'section 1',
      items: [
        { icon: 'fa-caret-square-o-right', name: 'link 1' },
        { icon: 'fa-caret-square-o-right', name: 'link 2' },
      ],
    },
  ];
  return (
    
  );
};
// ...
export default Foo;
```