boldr-ui
Version:
UI components for Boldr
73 lines (58 loc) • 2.48 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var babelPluginFlowReactPropTypes_proptype_Children = require('react').babelPluginFlowReactPropTypes_proptype_Children || require('prop-types').any;
var BaseIcon = function BaseIcon(_ref, _ref2) {
var _ref2$reactIconBase = _ref2.reactIconBase,
reactIconBase = _ref2$reactIconBase === undefined ? {} : _ref2$reactIconBase;
var children = _ref.children,
color = _ref.color,
size = _ref.size,
style = _ref.style,
props = (0, _objectWithoutProperties3.default)(_ref, ['children', 'color', 'size', 'style']);
var computedSize = size || reactIconBase.size || '1em';
function onClick(e) {
if (props.onClick) {
props.onClick(e);
}
}
return _react2.default.createElement('svg', (0, _extends3.default)({
children: children,
fill: 'currentColor',
preserveAspectRatio: 'xMidYMid meet',
height: computedSize,
width: computedSize,
onClick: onClick
}, reactIconBase, props, {
style: (0, _extends3.default)({
verticalAlign: 'middle',
color: color || reactIconBase.color
}, reactIconBase.style || {}, style)
}));
};
BaseIcon.propTypes = process.env.NODE_ENV !== "production" ? {
children: typeof babelPluginFlowReactPropTypes_proptype_Children === 'function' ? babelPluginFlowReactPropTypes_proptype_Children : require('prop-types').shape(babelPluginFlowReactPropTypes_proptype_Children).isRequired,
color: require('prop-types').string.isRequired,
size: require('prop-types').oneOfType([require('prop-types').string, require('prop-types').number]),
style: require('prop-types').object,
width: require('prop-types').string,
onClick: require('prop-types').func
} : {};
BaseIcon.defaultProps = {
color: '#fff',
size: '24'
};
BaseIcon.contextTypes = {
iconBase: _propTypes2.default.shape(BaseIcon.propTypes)
};
exports.default = BaseIcon;