text: // (C) Copyright 2014-2015 Hewlett Packard Enterprise Development LP
  
  import React, { Component } from 'react';
  import PropTypes from 'prop-types';
  import classnames from 'classnames';
  import CSSClassnames from '../../../utils/CSSClassnames';
  import Intl from '../../../utils/Intl';
  import Props from '../../../utils/Props';
  
  const CLASS_ROOT = CSSClassnames.CONTROL_ICON;
  const COLOR_INDEX = CSSClassnames.COLOR_INDEX;
  
  export default class Icon extends Component {
    render () {
      const { className, colorIndex } = this.props;
      let { a11yTitle, size, responsive } = this.props;
      let { intl } = this.context;
  
      const classes = classnames(
        CLASS_ROOT,
        `${CLASS_ROOT}-nodes`,
        className,
        {
          [`${CLASS_ROOT}--${size}`]: size,
          [`${CLASS_ROOT}--responsive`]: responsive,
          [`${COLOR_INDEX}-${colorIndex}`]: colorIndex
        }
      );
  
      a11yTitle = a11yTitle || Intl.getMessage(intl, 'nodes');
  
      const restProps = Props.omit(this.props, Object.keys(Icon.propTypes));
      return <svg {...restProps} version="1.1" viewBox="0 0 24 24" width="24px" height="24px" role="img" className={classes} aria-label={a11yTitle}><path fill="none" stroke="#000" strokeWidth="2" d="M14,4 C14,5.1048 13.1048,6 12,6 C10.8952,6 10,5.1048 10,4 C10,2.8952 10.8952,2 12,2 C13.1048,2 14,2.8952 14,4 Z M14,20 C14,21.1048 13.1048,22 12,22 C10.8952,22 10,21.1048 10,20 C10,18.8952 10.8952,18 12,18 C13.1048,18 14,18.8952 14,20 Z M7,8 C7,9.1048 6.1048,10 5,10 C3.8952,10 3,9.1048 3,8 C3,6.8952 3.8952,6 5,6 C6.1048,6 7,6.8952 7,8 Z M7,16 C7,17.1048 6.1048,18 5,18 C3.8952,18 3,17.1048 3,16 C3,14.8952 3.8952,14 5,14 C6.1048,14 7,14.8952 7,16 Z M21,8 C21,9.1048 20.1048,10 19,10 C17.8952,10 17,9.1048 17,8 C17,6.8952 17.8952,6 19,6 C20.1048,6 21,6.8952 21,8 Z M21,16 C21,17.1048 20.1048,18 19,18 C17.8952,18 17,17.1048 17,16 C17,14.8952 17.8952,14 19,14 C20.1048,14 21,14.8952 21,16 Z"/></svg>;
    }
  };
  
  Icon.contextTypes = {
    intl: PropTypes.object
  };
  
  Icon.defaultProps = {
    responsive: true
  };
  
  Icon.displayName = 'Nodes';
  
  Icon.icon = true;
  
  Icon.propTypes = {
    a11yTitle: PropTypes.string,
    colorIndex: PropTypes.string,
    size: PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge', 'huge']),
    responsive: PropTypes.bool
  };
  
  