All files / react/components/SideNav/Links NavLinkToggle.jsx

100% Statements 5/5
50% Branches 5/10
100% Functions 1/1
100% Lines 5/5

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      2x 2x 2x   2x                                   2x                
import PropTypes from "prop-types";
import { NavCollapse, NavExpand } from "../../../lib/SvgComponents";
 
const NavLinkToggle = ({ isAltStyle, collapseRef, isExpanded, onClick }) => {
  const expandedStyle = isExpanded ? "link-collapse" : "link-expand";
  const altStyle = isAltStyle ? "alt-style" : "";
 
  return (
    <button
      type="button"
      aria-label={`Click to ${
        isExpanded ? "collapse" : "expand"
      } the sidebar menu`}
      ref={collapseRef}
      className={`${expandedStyle} ${altStyle}`}
      onClick={onClick}
    >
      <svg className="left-icon" aria-hidden="true" focusable="false">
        {isExpanded ? <NavCollapse /> : <NavExpand />}
      </svg>
      <span>{isExpanded ? "Collapse" : "Expand"}</span>
    </button>
  );
};
 
NavLinkToggle.propTypes = {
  isAltStyle: PropTypes.bool,
  collapseRef: PropTypes.object,
  isExpanded: PropTypes.bool,
  onClick: PropTypes.func,
};
 
export default NavLinkToggle;