{"dependencies":[{"name":"babel-runtime/helpers/extends","loc":{"line":7,"column":24}},{"name":"babel-runtime/helpers/objectWithoutProperties","loc":{"line":11,"column":40}},{"name":"babel-runtime/core-js/object/get-prototype-of","loc":{"line":15,"column":30}},{"name":"babel-runtime/helpers/classCallCheck","loc":{"line":19,"column":31}},{"name":"babel-runtime/helpers/createClass","loc":{"line":23,"column":28}},{"name":"babel-runtime/helpers/possibleConstructorReturn","loc":{"line":27,"column":42}},{"name":"babel-runtime/helpers/inherits","loc":{"line":31,"column":25}},{"name":"simple-assign","loc":{"line":35,"column":28}},{"name":"react","loc":{"line":39,"column":21}},{"name":"prop-types","loc":{"line":43,"column":25}},{"name":"../styles/transitions","loc":{"line":47,"column":27}}],"generated":{"js":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');\n\nvar _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _simpleAssign = require('simple-assign');\n\nvar _simpleAssign2 = _interopRequireDefault(_simpleAssign);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _transitions = require('../styles/transitions');\n\nvar _transitions2 = _interopRequireDefault(_transitions);\n\nfunction _interopRequireDefault(obj) {\n  return obj && obj.__esModule ? obj : { default: obj };\n}\n\nvar SvgIcon = function (_Component) {\n  (0, _inherits3.default)(SvgIcon, _Component);\n\n  function SvgIcon() {\n    var _ref;\n\n    var _temp, _this, _ret;\n\n    (0, _classCallCheck3.default)(this, SvgIcon);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = SvgIcon.__proto__ || (0, _getPrototypeOf2.default)(SvgIcon)).call.apply(_ref, [this].concat(args))), _this), _this.state = {\n      hovered: false\n    }, _this.handleMouseLeave = function (event) {\n      _this.setState({ hovered: false });\n      _this.props.onMouseLeave(event);\n    }, _this.handleMouseEnter = function (event) {\n      _this.setState({ hovered: true });\n      _this.props.onMouseEnter(event);\n    }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret);\n  }\n\n  (0, _createClass3.default)(SvgIcon, [{\n    key: 'render',\n    value: function render() {\n      var _props = this.props,\n          children = _props.children,\n          color = _props.color,\n          hoverColor = _props.hoverColor,\n          onMouseEnter = _props.onMouseEnter,\n          onMouseLeave = _props.onMouseLeave,\n          style = _props.style,\n          viewBox = _props.viewBox,\n          other = (0, _objectWithoutProperties3.default)(_props, ['children', 'color', 'hoverColor', 'onMouseEnter', 'onMouseLeave', 'style', 'viewBox']);\n      var _context$muiTheme = this.context.muiTheme,\n          svgIcon = _context$muiTheme.svgIcon,\n          prepareStyles = _context$muiTheme.prepareStyles;\n\n      var offColor = color ? color : 'currentColor';\n      var onColor = hoverColor ? hoverColor : offColor;\n\n      var mergedStyles = (0, _simpleAssign2.default)({\n        display: 'inline-block',\n        color: svgIcon.color,\n        fill: this.state.hovered ? onColor : offColor,\n        height: 24,\n        width: 24,\n        userSelect: 'none',\n        transition: _transitions2.default.easeOut()\n      }, style);\n\n      return _react2.default.createElement('svg', (0, _extends3.default)({}, other, {\n        onMouseEnter: this.handleMouseEnter,\n        onMouseLeave: this.handleMouseLeave,\n        style: prepareStyles(mergedStyles),\n        viewBox: viewBox\n      }), children);\n    }\n  }]);\n  return SvgIcon;\n}(_react.Component);\n\nSvgIcon.muiName = 'SvgIcon';\nSvgIcon.defaultProps = {\n  onMouseEnter: function onMouseEnter() {},\n  onMouseLeave: function onMouseLeave() {},\n  viewBox: '0 0 24 24'\n};\nSvgIcon.contextTypes = {\n  muiTheme: _propTypes2.default.object.isRequired\n};\nSvgIcon.propTypes = \"development\" !== \"production\" ? {\n  /**\n   * Elements passed into the SVG Icon.\n   */\n  children: _propTypes2.default.node,\n  /**\n   * This is the fill color of the svg icon.\n   * If not specified, this component will default\n   * to muiTheme.palette.textColor.\n   */\n  color: _propTypes2.default.string,\n  /**\n   * This is the icon color when the mouse hovers over the icon.\n   */\n  hoverColor: _propTypes2.default.string,\n  /** @ignore */\n  onMouseEnter: _propTypes2.default.func,\n  /** @ignore */\n  onMouseLeave: _propTypes2.default.func,\n  /**\n   * Override the inline-styles of the root element.\n   */\n  style: _propTypes2.default.object,\n  /**\n   * Allows you to redefine what the coordinates\n   * without units mean inside an svg element. For example,\n   * if the SVG element is 500 (width) by 200 (height), and you\n   * pass viewBox=\"0 0 50 20\", this means that the coordinates inside\n   * the svg will go from the top left corner (0,0) to bottom right (50,20)\n   * and each unit will be worth 10px.\n   */\n  viewBox: _propTypes2.default.string\n} : {};\nexports.default = SvgIcon;"},"hash":"41d067dc33abb965983b4342e8a23b47"}