react-cqtoolbox
Version:
[![Travis][build-badge]][build] [![npm package][npm-badge]][npm] [![Coveralls][coveralls-badge]][coveralls]
105 lines (83 loc) • 3.33 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.svgFontIconFactory = exports.FontIcon = undefined;
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 _jsxFileName = '/Users/chenyutian0510/Documents/dev-js/chuangqi/react-cqtoolbox/components/font_icon/FontIcon.js';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _classnames2 = require('classnames');
var _classnames3 = _interopRequireDefault(_classnames2);
var _theme = require('./theme.css');
var _theme2 = _interopRequireDefault(_theme);
var _identifiers = require('../identifiers');
var _reactCssThemr = require('react-css-themr');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return 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 FontIcon = function FontIcon(_ref) {
var alt = _ref.alt,
children = _ref.children,
className = _ref.className,
spin = _ref.spin,
theme = _ref.theme,
value = _ref.value,
other = _objectWithoutProperties(_ref, ['alt', 'children', 'className', 'spin', 'theme', 'value']);
return (// eslint-disable-line
_react2.default.createElement(
'span',
_extends({
'data-react-toolbox': 'font-icon',
'aria-label': alt,
className: (0, _classnames3.default)([theme[value]], [theme.icon], _defineProperty({}, theme.spin, spin), className)
}, other, {
__source: {
fileName: _jsxFileName,
lineNumber: 8
},
__self: undefined
}),
children
)
);
};
FontIcon.propTypes = {
alt: _react.PropTypes.string,
children: _react.PropTypes.node,
className: _react.PropTypes.string,
theme: _react.PropTypes.object, // eslint-disable-line
value: _react.PropTypes.string,
spin: _react.PropTypes.bool
};
FontIcon.defaultProps = {
alt: '',
className: '',
spin: false
};
var ThemedFontIcon = (0, _reactCssThemr.themr)(_identifiers.ICON, _theme2.default)(FontIcon);
var svgFontIconFactory = function svgFontIconFactory(WrappedComponent) {
return function (_ref2) {
var color = _ref2.color,
other = _objectWithoutProperties(_ref2, ['color']);
return _react2.default.createElement(
ThemedFontIcon,
_extends({}, other, {
__source: {
fileName: _jsxFileName,
lineNumber: 42
},
__self: undefined
}),
_react2.default.createElement(WrappedComponent, { color: color, __source: {
fileName: _jsxFileName,
lineNumber: 43
},
__self: undefined
})
);
};
};
exports.default = FontIcon;
exports.FontIcon = FontIcon;
exports.svgFontIconFactory = svgFontIconFactory;