components/Header/HeaderNav/HeaderNavItem/HeaderNavItem.jsx

/**
 * Элемент навигации в хедере
 * @module HeaderNavItem
 * @author Ihor Bielchenko
 * @requires react
 * @requires react#Component
 */

import React, { Component } from 'react';

/**
 * Элемент навигации в хедере
 * @extends Component
 * @property {Object} children Дочерний JSX компонент
 * @property {String} icon Тип иконка
 * @property {String} content Текст внутри иконки
 * @property {String} image Картинка элемента меню
 */
class HeaderNavItem extends Component {

	/**
	 * Инициализация параметров по умолчанию
	 * @type {Object} 
	 * @inner
	 * @property {Function} onClick Функция, вызывающаяся при клике по элементу 
	 */
	static defaultProps = {
		onClick: function() {}
	}

	/**
	 * Render component
	 * @return {Object} jsx object
	 */
	render() {
		var icon = 'icon ';

		if(typeof this.props.icon !== 'undefined') {
			icon += this.props.icon;
		}

		return <div className="item">
					<div className={typeof this.props.children !== 'undefined' ? 
						'round js_notice-popup' :
						'round'}
					onClick={this.props.onClick.bind(this)}>
						{typeof this.props.image !== 'undefined' ? 
							<img src={this.props.image} alt="nav-item" /> : ''}
							<div className={icon}>{this.props.content}</div>
					</div>
						{typeof this.props.children !== 'undefined' ? 
							this.props.children : ''}
				</div>
	}
}

export default HeaderNavItem;