focus-components-v3
Version:
Focus web components to build applications (based on Material Design)
46 lines (38 loc) • 4.03 kB
JavaScript
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);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function Icon(_ref) {
var name = _ref.name,
library = _ref.library,
onClick = _ref.onClick,
style = _ref.style;
switch (library) {
case 'material':
return _react2.default.createElement(
'i',
_extends({ className: 'material-icons', onClick: onClick }, style),
name
);
case 'font-awesome':
var faCss = 'fa fa-' + name;
return _react2.default.createElement('i', _extends({ className: faCss, onClick: onClick }, style));
case 'font-custom':
return _react2.default.createElement('span', { className: 'icon-' + name });
default:
return null;
}
}
Icon.displayName = 'Icon';
Icon.defaultProps = {
name: '',
library: 'material'
};
Icon.propTypes = {
handleOnClick: _react.PropTypes.func,
library: _react.PropTypes.oneOf(['material', 'font-awesome', 'font-custom']),
name: _react.PropTypes.string
};
module.exports = Icon;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyLUZSLmpzIl0sIm5hbWVzIjpbIkljb24iLCJuYW1lIiwibGlicmFyeSIsIm9uQ2xpY2siLCJzdHlsZSIsImZhQ3NzIiwiZGlzcGxheU5hbWUiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJoYW5kbGVPbkNsaWNrIiwiZnVuYyIsIm9uZU9mIiwic3RyaW5nIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOzs7Ozs7QUFFQSxTQUFTQSxJQUFULE9BQStDO0FBQUEsUUFBaENDLElBQWdDLFFBQWhDQSxJQUFnQztBQUFBLFFBQTFCQyxPQUEwQixRQUExQkEsT0FBMEI7QUFBQSxRQUFqQkMsT0FBaUIsUUFBakJBLE9BQWlCO0FBQUEsUUFBUkMsS0FBUSxRQUFSQSxLQUFROztBQUMzQyxZQUFRRixPQUFSO0FBQ0ksYUFBSyxVQUFMO0FBQ0ksbUJBQU87QUFBQTtBQUFBLDJCQUFHLFdBQVUsZ0JBQWIsRUFBOEIsU0FBU0MsT0FBdkMsSUFBb0RDLEtBQXBEO0FBQTRESDtBQUE1RCxhQUFQO0FBQ0osYUFBSyxjQUFMO0FBQ0ksZ0JBQU1JLG1CQUFpQkosSUFBdkI7QUFDQSxtQkFBTyw4Q0FBRyxXQUFXSSxLQUFkLEVBQXFCLFNBQVNGLE9BQTlCLElBQTJDQyxLQUEzQyxFQUFQO0FBQ0osYUFBSyxhQUFMO0FBQ0ksbUJBQU8sd0NBQU0scUJBQW1CSCxJQUF6QixHQUFQO0FBQ0o7QUFDSSxtQkFBTyxJQUFQO0FBVFI7QUFXSDs7QUFFREQsS0FBS00sV0FBTCxHQUFtQixNQUFuQjtBQUNBTixLQUFLTyxZQUFMLEdBQW9CO0FBQ2hCTixVQUFNLEVBRFU7QUFFaEJDLGFBQVM7QUFGTyxDQUFwQjtBQUlBRixLQUFLUSxTQUFMLEdBQWlCO0FBQ2JDLG1CQUFlLGlCQUFVQyxJQURaO0FBRWJSLGFBQVMsaUJBQVVTLEtBQVYsQ0FBZ0IsQ0FBQyxVQUFELEVBQWEsY0FBYixFQUE2QixhQUE3QixDQUFoQixDQUZJO0FBR2JWLFVBQU0saUJBQVVXO0FBSEgsQ0FBakI7O0FBTUFDLE9BQU9DLE9BQVAsR0FBaUJkLElBQWpCIiwiZmlsZSI6ImZyLUZSLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBQcm9wVHlwZXN9IGZyb20gJ3JlYWN0JztcclxuXHJcbmZ1bmN0aW9uIEljb24oe25hbWUsIGxpYnJhcnksIG9uQ2xpY2ssIHN0eWxlfSkge1xyXG4gICAgc3dpdGNoIChsaWJyYXJ5KSB7XHJcbiAgICAgICAgY2FzZSAnbWF0ZXJpYWwnOlxyXG4gICAgICAgICAgICByZXR1cm4gPGkgY2xhc3NOYW1lPSdtYXRlcmlhbC1pY29ucycgb25DbGljaz17b25DbGlja30gey4uLnN0eWxlfT57bmFtZX08L2k+O1xyXG4gICAgICAgIGNhc2UgJ2ZvbnQtYXdlc29tZSc6XHJcbiAgICAgICAgICAgIGNvbnN0IGZhQ3NzID0gYGZhIGZhLSR7bmFtZX1gO1xyXG4gICAgICAgICAgICByZXR1cm4gPGkgY2xhc3NOYW1lPXtmYUNzc30gb25DbGljaz17b25DbGlja30gey4uLnN0eWxlfT48L2k+O1xyXG4gICAgICAgIGNhc2UgJ2ZvbnQtY3VzdG9tJzpcclxuICAgICAgICAgICAgcmV0dXJuIDxzcGFuIGNsYXNzTmFtZT17YGljb24tJHtuYW1lfWB9Pjwvc3Bhbj47XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbn1cclxuXHJcbkljb24uZGlzcGxheU5hbWUgPSAnSWNvbic7XHJcbkljb24uZGVmYXVsdFByb3BzID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICBsaWJyYXJ5OiAnbWF0ZXJpYWwnXHJcbn07XHJcbkljb24ucHJvcFR5cGVzID0ge1xyXG4gICAgaGFuZGxlT25DbGljazogUHJvcFR5cGVzLmZ1bmMsXHJcbiAgICBsaWJyYXJ5OiBQcm9wVHlwZXMub25lT2YoWydtYXRlcmlhbCcsICdmb250LWF3ZXNvbWUnLCAnZm9udC1jdXN0b20nXSksXHJcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nXHJcbn07XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IEljb247XHJcbiJdfQ==
;