react-toolbox
Version:
A set of complementary tools to ReactJS.
42 lines (34 loc) • 983 B
JSX
import React from 'react';
import style from './style';
import Button from '../button';
import Link from '../link';
const Navigation = props => {
let className = `${style[props.type]}`;
if (props.className) className += ` ${props.className}`;
const buttons = props.actions.map((action, index) => {
return <Button className={style.button} key={index} {...action} />;
});
const links = props.routes.map((route, index) => {
return <Link className={style.link} key={index} {...route} />;
});
return (
<nav data-react-toolbox='navigation' className={className}>
{ links }
{ buttons }
{ props.children }
</nav>
);
};
Navigation.propTypes = {
actions: React.PropTypes.array,
className: React.PropTypes.string,
routes: React.PropTypes.array,
type: React.PropTypes.oneOf(['vertical', 'horizontal'])
};
Navigation.defaultProps = {
actions: [],
className: '',
type: 'horizontal',
routes: []
};
export default Navigation;