@flive/react-navigation-drawer

5.1.1 • Public • Published

react-navigation-drawer

This module displays a navigation drawer that appears as an overlay, it extend react-kit Modal.

Install

npm install @flive/react-navigation-drawer

Code example

Simple example with menuLinks, navigation tree as a json for generating accordions.

<NavigationDrawer
  title="Menu"
  onChange={({ state }) => console.log({ state })}
  toggle={
    <Button variant="secondary" type="button">
      Simple example
    </Button>
  }
  userProfile={{
    avatarIdentifier: 'my@email.com',
    content: 'First name, Last name',
    linkComponent: 'a'
  }}
  menuLinks={[
    {
      label: 'Link label 1',
      key: 'link1',
      children: [
        { label: 'Link label 2', key: 'link2', linkComponent: 'a' },
        { label: 'Link label 3', key: 'link3' }
      ]
    },
    {
      label: 'Link label 2',
      key: 'link2',
      children: [
        { label: 'Link label 2', key: 'link2' },
        {
          label: 'Link label 3',
          key: 'link3',
          children: [{ label: 'Link label 4', key: 'link4' }]
        }
      ]
    },
    { label: 'Link label 3', key: 'link3' },
    { label: 'Link label 4', key: 'link4' }
  ]}
/>

Custom example with a child as function

<NavigationDrawer
  title="Menu"
  onChange={({ state }) => console.log({ state })}
  toggle={
    <Button variant="secondary" type="button">
      Custom render
    </Button>
  }
  userProfile={{
    avatarImgSource:
      'https://www.gravatar.com/avatar/205e460b479e2e5b48aec07710c08d50',
    content: 'Helena Brauer'
  }}
>
  {({ handleClose }) => (
    <Accordion margin="none" boxShadow="none">
      <AccordionItem label="Level 1 label">
        <Accordion>
          <AccordionLink onClick={handleClose}>Accordion link 1</AccordionLink>
          <AccordionLink onClick={handleClose}>Accordion link 2</AccordionLink>
          <AccordionLink onClick={handleClose}>Accordion link 3</AccordionLink>
          <AccordionItem label="Level 2 label">
            <Accordion>
              <AccordionLink onClick={handleClose}>
                Accordion link 4
              </AccordionLink>
              <AccordionLink onClick={handleClose}>
                Accordion link 5
              </AccordionLink>
              <AccordionLink onClick={handleClose}>
                Accordion link 6
              </AccordionLink>
              <AccordionItem label="Level 3 label">
                <AccordionLink onClick={handleClose}>
                  Accordion link 6
                </AccordionLink>
              </AccordionItem>
            </Accordion>
          </AccordionItem>
        </Accordion>
      </AccordionItem>
      <AccordionLink onClick={handleClose}>Accordion link 2</AccordionLink>
      <AccordionLink onClick={handleClose}>Accordion link 3</AccordionLink>
    </Accordion>
  )}
</NavigationDrawer>

License

This project is licensed under a custom license. See the LICENSE file for details.

Readme

Keywords

none

Package Sidebar

Install

npm i @flive/react-navigation-drawer

Weekly Downloads

1

Version

5.1.1

License

SEE LICENSE IN LICENSE

Unpacked Size

99.2 kB

Total Files

8

Last publish

Collaborators

  • robnriks
  • cgrimal
  • damien-s
  • lbdremy