1.0.16 • Published 2 years ago

react-hamburger-menus v1.0.16

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

react-hamburger-menus

Congrats! You just saved yourself hours of work by using react-animated-navbars library for creating animated navigation panels

Demo

Take a look at the live demo!

Installation

install it using npm or yarn to include it in your own React project

You will also need to import css modules in root your project before using it. dist/react-animated-navbars.cjs.development.css

npm

npm i react-hamburger-menus

yarn

yarn add react-hamburger-menus

Usage

Ghost Navbar

  • Import GhostNavbar component from react-animated-navbars
  • Import styles react-animated-navbars/dist/style.css
import React from "react";
import { GhostNavbar } from "react-hamburger-menus";
import "react-hamburger-menus/dist/style.css";

const App = () => {
  return (
    <>
      <GhostNavbar
        styles={{
          floatButtonSize: 0.9,
          floatButtonX: 6,
          floatButtonY: 4
        }}
      >
        <ul>
          <li>ABOUT</li>
          <li>PROJECTS</li>
          <li>ELEMENTS</li>
          <li>CONTACT</li>
        </ul>
      </GhostNavbar>
    </>
  );
};

export default App;

Using with next js/ Gatsby js or other React Framework for application routing

import Link from 'next/link'
.
.
  <ul>
    <li>
      <Link href="/"> Home </Link>
    </li>  
    .
    .

🔨 API

Props

Direct props use ul tag with li or else animations wont be applied

PropTypeDefaultDescription
childrenReactNode (ul > li)optionalNavbar items
classNamestringoptionalBase class
stylesstyles objectoptionalBase styles
iconHeight, iconWidth, iconColorstringoptionalIcon style
floatButtonXnumber85Ghost button X position from right
floatButtonYnumber2Ghost button Y position from top
listHoverColorstring, string[color 1, color 2]Hover animation color
fontColor, fontSize, fontHoverColoroptionalstringcommon text styling
zIndexnumberoptionalz-Index (1000)
leftReveal, rightReveal, backgroundBox, backgroundCirclestringleftReveal backgroundCircleannimation types

STYLES

If you want custom styles pass your CSS styling(Javascript Object) in Styles props using specific key mentioned below to apply styling correctly.

Take a look at the live demo for custom styling!

PropertyTypeDefaultDescription
navigationReact CSS PropertiesoptionalBase styling
navigationButtonReact CSS PropertiesoptionalGhost button styling
navigationIconReact CSS PropertiesoptionalGhost icon styling
navigationBackgroundReact CSS PropertiesoptionalPanel background styling

Responsive Navbar

Preview

Small screen

Large screen

import React from "react";
import { ResponsiveNavbar } from "react-hamburger-menus";
import "react-hamburger-menus/dist/style.css";

export const Default = () => (
  <ResponsiveNavbar
    logo={<p>Logo</p>}
    styles={{
      navigation: { fontFamily: 'Arial, Helvetica, sans-serif' },
      navigationBarSmall: {
        backgroundColor: 'aliceblue',
      },
      navigationCardSmall: {
        backgroundColor: 'aliceblue',
      },
    }}
  >
      <ul>
        <li>ABOUT</li>
        <li>PROJECTS</li>
        <li>ELEMENTS</li>
        <li>CONTACT</li>
      </ul>

  </ResponsiveNavbar>
);

🔨 API

Props

Direct props use ul tag with li or else animations wont be applied

PropTypeDefaultDescription
childrenReactNode (ul > li)optionalNavbar items
classNamestringoptionalBase class
stylesstyles objectoptionalBase styles
logoReactNodeoptionalNavbar logo
iconColor, iconWidth, iconHeightstringoptionalIcon styling (toggle)
zIndexnumberoptionalz-Index (1000)
animationDelaynumberstringoptionalanimation delay
toggleNavigationBarSmallValuebooleanoptionalmanual toggle value
toggleNavigationBarSmallFunctionVoidFunctionoptionalmanual toggle function

STYLES

If you want custom styles pass your CSS styling(Javascript Object) in Styles props using specific key mentioned below to apply styling correctly.

Take a look at the live demo for custom styling!

PropertyTypeDefaultDescription
navigationReact CSS PropertiesoptionalBase styling
navigationBarSmallReact CSS PropertiesoptionalNavbar small screen styling
navigationButtonSmallReact CSS PropertiesoptionalNavbar button small screen styling (toggle)
navigationCardSmallReact CSS PropertiesoptionalNavbar card small screen styling (toggle)
navigationBarLargeReact CSS PropertiesoptionalNavbar card large screen styling (toggle)

Ghost Button

import React from "react";
import { GhostButton } from "react-hamburger-menus";
import "react-hamburger-menus/dist/style.css";

const App = () => {
  return (
    <>
      <GhostButton
        styles={{
          floatButtonX: 85,
          floatButtonY: 7
        }}
      >
          <ul>
          <li>ABOUT</li>
          <li>PROJECTS</li>
          <li>ELEMENTS</li>
          <li>CONTACT</li>
        </ul>
        </GhostButton>
    </>
  );
};

export default App;

Using icon or html (as icon)

.
  <GhostButton
    icon={
      <p style={{ fontSize: '19px', borderBottom: '1px solid grey' }}>Users</p>
    }
    />
.
.

🔨 API

Props

PropTypeDefaultDescription
childrenReactNode (ul > li)optionalNavbar items
classNamestringoptionalBase class
stylesstyles objectoptionalBase styles
iconReactNodeoptionalcustom icon
floatButtonSizenumberoptionalGhost button size (just number)
floatButtonXnumber85Ghost button X position from right
floatButtonYnumber2Ghost button Y position from top
fontColor, fontSizeoptionalstringcommon text styling
iconHeight, iconWidth, iconColorstringoptionalIcon style
listHoverColorstringaquaHover animation color
zIndexnumberoptionalz-Index (1000)

STYLES

Take a look at the live demo for custom styling!

PropertyTypeDefaultDescription
navigationReact CSS PropertiesoptionalBase styling
navigationButtonReact CSS PropertiesoptionalGhost button styling
navigationIconReact CSS PropertiesoptionalGhost icon styling
navigationCardReact CSS PropertiesoptionalPanel pop-up card styling

🐛 Bug Reporting

The Library is in developing stage

  • Feel free to Open an issue on GitHub to request any additional features you might need for your use case.
  • Connect with me on LinkedIn. I'd love ❤️️ to hear where you are using this library.

Browser support

Because this project uses CSS3 features, it's only meant for modern browsers. Some browsers currently fail to apply some of the animations correctly.

It is well tested for chrome, safari and firefox.

📜 License

This software is open source, licensed under the MIT License.

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago