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 46 47 48 49 50 51 52 53 54 | 2x 2x | import AnimationGroup from "../AnimationGroup/AnimationGroup"; import PropTypes from "prop-types"; const NavItemInline = (props) => { const { url, urlExpressionToMatch, className, icon, label, isActive, showLabel, disabled, } = props; const localUrl = urlExpressionToMatch || url; const urlRegExp = new RegExp(`${localUrl}/?$`); const path = window.location.href && window.location.href.split("?")[0]; const currentPage = path && path.match(urlRegExp); return ( <div className={`${className} ${isActive || currentPage ? "active" : ""} ${ disabled ? "disabled" : "" }`} aria-label={label} > <svg className={`left-icon ${disabled ? "disabled" : ""}`} aria-hidden="true" focusable="false" > {icon} </svg> <AnimationGroup display={showLabel}> <span tabIndex="-1">{label}</span> </AnimationGroup> </div> ); }; NavItemInline.propTypes = { urlExpressionToMatch: PropTypes.string, url: PropTypes.string, className: PropTypes.string, icon: PropTypes.element, label: PropTypes.string, isActive: PropTypes.bool, showLabel: PropTypes.bool, disabled: PropTypes.bool, }; export default NavItemInline; |