1.0.1 • Published 5 years ago

@crpt/react-menu v1.0.1

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

react-menu

Travis npm package Coveralls

Install

npm i --save @crpt/react-menu

Usage

import Menu from "@crpt/react-menu"; 
...
<Menu
    isOpen={isOpen}
    header={Header}
    footer={Footer}
    menuItems={menuItems}
    onFullModeClick={toggleFullMode}
/>
PropNameDescriptionExample
isOpen: booleanWhen true Menu width is wide, else - narrow
header: functionHeader component. See Note1
footer: functionFooter component. See Note1
menuItems: Array of functionsMenu items.

Note 1. Function will be called with parameter isOpen.

Lets we have a menu item (or header, or footer) component like this:

const MenuItem = ({ isOpen, text, iconName }) => (
  <div
    style={{ ... }}
    onClick={() => console.log(`Clicked to ${text}.`)}
  >
    <Icon type={iconName} />
    {isOpen ? text : null}
  </div>
);

We can define text and iconName props for every item, and isOpen property will be sent when render ({ isOpen }) => (<MenuItem isOpen={isOpen} text="smthText" iconName="smthIconName" />);