/**
 * Tab item for header.
 * @class ApHeaderTabItem
 */

'use strict'

import React, {Component, PropTypes as types} from 'react'
import classnames from 'classnames'
import {ApTabItem} from 'apeman-react-tab'

/** @lends ApHeaderTabItem */
class ApHeaderTabItem extends Component {
  render () {
    const s = this
    let { props } = s
    let className = classnames('ap-header-tab-item', props.className, {
      'ap-header-tab-item-selected': !!props.selected
    })
    return (
      <ApTabItem { ...props }
                 className={ className }
      >
        { props.children }
      </ApTabItem>
    )
  }
}

Object.assign(ApHeaderTabItem, {
  // --------------------
  // Specs
  // --------------------

  propTypes: {
    selected: types.bool
  },

  /**
   * Create
   * @param {string} label - Label oth the item.
   * @param {string} href - Tab href
   * @param {object} props - Property values.
   * @returns {object} - ApHeaderTabItem element.
   */
  createItem (label, href, props) {
    return (
      <ApHeaderTabItem href={ href }
                       { ...props }>
        { label }
      </ApHeaderTabItem>
    )
  },

  defaultProps: {
    selected: false
  }

})

export default ApHeaderTabItem
