import React, { Component } from 'react'; import PropTypes from 'prop-types'; import createStyledComponent from '../utils/createStyledComponent'; import styles from './styles'; const SegmentedWrapper = createStyledComponent(styles); export default class SegmentedControl extends Component { shouldComponentUpdate(nextProps) { return ( nextProps.disabled !== this.props.disabled || nextProps.selected !== this.props.selected ); } onClick = e => { this.props.onClick(e.target.value); }; onMouseUp = e => { e.target.blur(); }; render() { const { values, selected } = this.props; return ( {values.map(button => ( ))} ); } } SegmentedControl.propTypes = { values: PropTypes.array.isRequired, selected: PropTypes.string, onClick: PropTypes.func, disabled: PropTypes.bool, theme: PropTypes.object };