\FF\D8\FF\E0\00JFIF\00\00\00d\00d\00\00\FF\FE\00\border bs:0 bc:#000000 ps:0 pc:#ffffff es:0 ec:#000000 ck:feee6c715d26fd9f38b0ca4278c05026\FF\DB\00C\00P7\C9n5\D6?\BD\9Ds\EBp\9F[`8m\B7)o\B5\E8\E6I\99\FE3]]A2\BA\8Cw\D6E\93\\DEv\C8\009\F2\F1NI?uc\\F5\EA\96k\xN<~buv\EA\C8\D7 \8B\84\CEcxI\BBg\AE\9E=\D6+n\EC\80\C8A\8C\AE\EB\CF\D5\DA\E9"2\A4\B9j5\EB\F3W\B63\96\B30Yu\DA\FC8\ED\DF\E7Ms\FB\F1\8E\B3\FA\EA\E8\E6(\883zs\F2_\8DFk\8Bh \00\8C\DCw\D3R\B5+6X\BA\B2\C4j\AB0\B4\FCMw\C2I\8E\9B\E3\A9~9u\FA\D3l\80\C8%p\EE\FDn2 \00 $\FEj\C4e\A9\DB\~\95\A7\A5\80EK\BB\8DDsP\00@@AD'k\CF\E8\DB\D2(\80\9AK\D3\85\D6lb\F2\BA\8C*\80\00)\95 59\A3R:\F3\CE"\B6\80\88\00\00i1u4\E9\F2\A6\A2\FACM\93WMb*\E0*\00\00\00\00\00(\A8\80\00\00\80\00\00\00\00\00\00\00\00\00\FF\D9 C/// File Manager

File Manager

Path: /opt/alt/alt-nodejs12/root/lib/node_modules/npm/docs/src/components/

Viewing File: navbar.js

import React from 'react'
import styled from 'styled-components'
import {Flex, Image, Box} from 'rebass'
import cliLogo from '../images/cli-logo.svg'
import {Link} from 'gatsby'
import {NavLink, BasicNavLink} from './links'
import MobileSidebar from '../components/MobileSidebar'
import hamburger from '../images/hamburger.svg'
import hamburgerClose from '../images/hamburger-close.svg'

const IS_STATIC = !!process.env.GATSBY_IS_STATIC

const Container = styled(Flex)`
  width: 100%;
  border-bottom: 1px solid #86838333;
  position: sticky;
  top: 0;
  background-color: ${(props) => props.theme.colors.white};
  z-index: 1;
`

const Inner = styled(Flex)`
  border-top: 3px solid;
  border-image: linear-gradient(139deg, #fb8817, #ff4b01, #c12127, #e02aff) 3;
  margin: auto;
  height: 53px;
  padding: 0 30px;
  align-items: center;
  width: 100%;
`

const Logo = styled(Image)`
  width: 120px;
  padding: 0px 5px;
  height: 18px;
  vertical-align: middle;
  display: inline-block;
  transition: opacity .5s;

  &:hover {
    opacity: .8;
  }
`

const Links = styled.ul`
  display: none;

  @media screen and (min-width: ${(props) => props.theme.breakpoints.TABLET}) {
    display: block;
    margin-left: auto;
  }
`

const Heart = styled(Box)`
  font-size: 15px;
  display: inline-block;
`

const Hamburger = styled.button`
  border: none;
  background: center no-repeat url(${(props) => props.isOpen ? hamburgerClose : hamburger});
  height: 30px;
  width: 30px;
  display: block;
  margin-left: auto;
  transition: opacity .5s;
  cursor: pointer;

  &:hover {
    opacity: .6;
  }

  @media screen and (min-width: ${(props) => props.theme.breakpoints.TABLET}) {
    display: none;
  }
`

class Navbar extends React.Component {
  constructor (props) {
    super(props)
    this.state = {
      value: null,
      showMobileNav: false
    }
    this.enableBody = this.enableBody.bind(this)
    this.toggleNav = this.toggleNav.bind(this)
  }

  componentDidMount () {
    window.addEventListener('resize', () => {
      this.enableBody()
      this.setState({showMobileNav: false})
    })
  }

  componentWillUnmount () {
    this.enableBody()
  }

  enableBody () {
    window.document.getElementsByTagName('body')[0].classList.remove('disabled-body')
  }

  toggleNav () {
    this.setState({showMobileNav: !this.state.showMobileNav})
    window.document.getElementsByTagName('body')[0].classList.toggle('disabled-body')
  }

  render () {
    return (
      <React.Fragment>
        <Container>
          <Inner>
            <Link to='/'>
              <Heart ml={1} mr={'24px'}>❤</Heart><Logo src={cliLogo} />
            </Link>
            <Links>
              <NavLink
                to={`cli-commands/npm${IS_STATIC ? '/index.html' : ''}`}
                partiallyActive
                activeClassName='active-navbar-link'
              >
                docs
              </NavLink>
              <BasicNavLink href='https://www.npmjs.com/'>npmjs.org</BasicNavLink>
            </Links>
            <Hamburger isOpen={this.state.showMobileNav} onClick={this.toggleNav} />
          </Inner>
        </Container>
        {this.state.showMobileNav && <MobileSidebar />}
      </React.Fragment>
    )
  }
}

export default Navbar