aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/tabs/tab/tab.component.js
blob: 9e590391c391cb27c8161c31525148aca387404b (plain) (blame)
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
import React from 'react'
import PropTypes from 'prop-types'
import classnames from 'classnames'

const Tab = props => {
  const { name, onClick, isActive, tabIndex, className, activeClassName } = props

  return (
    <li
      className={classnames(
        className,
        { [activeClassName]: isActive },
      )}
      onClick={event => {
        event.preventDefault()
        onClick(tabIndex)
      }}
    >
      { name }
    </li>
  )
}

Tab.propTypes = {
  name: PropTypes.string.isRequired,
  onClick: PropTypes.func,
  isActive: PropTypes.bool,
  tabIndex: PropTypes.number,
  className: PropTypes.string,
  activeClassName: PropTypes.string,
}

Tab.defaultProps = {
  className: 'tab',
  activeClassName: 'tab--active',
}

export default Tab