glass-app-manager
Version:
Informatica's Glass Framework CLI for bootstrapping
28 lines (23 loc) • 819 B
JavaScript
//@flow
import * as React from "react";
import classNames from "classnames";
type Props = {
as?: string | (() => React.Node), // TODO: verify this is correct
children?: React.Node,
className?: string,
icon?: React.Node,
label: string,
};
export default (props: Props) => {
const { as, children, className, icon, label, ...rest } = props;
const ElementType = props.as ? props.as : "a";
return (
<li>
<ElementType className={classNames("shell__nav__links__link", className)} {...rest}>
{icon ? <span className="shell__nav__links__link__icon">{icon}</span> : null}
<span className="shell__nav__links__link__label">{label}</span>
{children}
</ElementType>
</li>
);
};