@roo-ui/components
Version:
76 lines (52 loc) • 2.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
var _styledSystem = require('styled-system');
var _cleanElement = require('clean-element');
var _cleanElement2 = _interopRequireDefault(_cleanElement);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _icons = require('@roo-ui/icons');
var _icons2 = _interopRequireDefault(_icons);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var CleanSvg = (0, _cleanElement2.default)('svg');
CleanSvg.propTypes = _extends({}, _styledSystem.propTypes.space);
var Base = function Base(_ref) {
var name = _ref.name,
title = _ref.title,
size = _ref.size,
props = _objectWithoutProperties(_ref, ['name', 'title', 'size']);
return _react2.default.createElement(
CleanSvg,
_extends({}, props, {
viewBox: '0 0 24 24',
width: size,
height: size,
title: title || name,
fill: 'currentcolor'
}),
_react2.default.createElement('path', { d: _icons2.default[name].path })
);
};
Base.propTypes = {
name: _propTypes2.default.oneOf(Object.keys(_icons2.default)),
size: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
title: _propTypes2.default.string
};
Base.defaultProps = {
name: 'hotel',
title: null,
size: 24
};
var Icon = (0, _styledComponents2.default)(Base).withConfig({
displayName: 'Icon'
})(['vertical-align:middle;flex:none;', ' ', ';'], _styledSystem.space, _styledSystem.color);
Icon.propTypes = _extends({}, Base.propTypes, _styledSystem.color.propTypes, _styledSystem.space.propTypes);
exports.default = Icon;
;