# All files / react/Nav index.jsx

100% Statements 13/13
100% Branches 0/0
100% Functions 6/6
100% Lines 12/12

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45

    1x
    3x

    1x
    3x

    1x

    1x
    3x

    1x
    3x

    1x
    1x

    1x
     import React from 'react'
    import Icon from '../Icon'
    import styles from './styles.styl'
    import cx from 'classnames'

    export const NavItem = ({ children }) => (
      <li className={styles['c-nav-item']}>{children}</li>
    )

    export const NavText = ({ children }) => (
      <span className={styles['c-nav-text']}>{children}</span>
    )

    export const NavLink = {
      className: styles['c-nav-link'],
      activeClassName: styles['is-active']
    }

    export const genNavLink = RRNavLink => ({ to, children }) => (
      <RRNavLink
        to={to}
        className={NavLink.className}
        activeClassName={NavLink.activeClassName}
      >
        {children}
      </RRNavLink>
    )

    export const NavIcon = ({ icon }) => (
      <span className={cx(styles['c-nav-icon'])}>
        <Icon icon={icon} />
      </span>
    )

    const Nav = ({ children }) => {
      return (
        <nav>
          <ul className={styles['c-nav']}>{children}</ul>
        </nav>
      )
    }

    export default Nav
    Nav.NavItem = NavItem