UNPKG

react-cqtoolbox

Version:

[![Travis][build-badge]][build] [![npm package][npm-badge]][npm] [![Coveralls][coveralls-badge]][coveralls]

105 lines (83 loc) 3.33 kB
'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;