chowa
Version:
UI component library based on React
34 lines (33 loc) • 1.27 kB
JavaScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
;
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const PropTypes = require("prop-types");
const classnames_1 = require("classnames");
const utils_1 = require("../utils");
const Icon = (props) => {
const { type, size, color, className, style, component } = props;
const componentClass = classnames_1.default({
[utils_1.preClass('icon')]: true,
[utils_1.preClass(`icon-${type}`)]: utils_1.isExist(type),
[className]: utils_1.isExist(className)
});
const componentStyle = Object.assign({}, utils_1.isExist(color) ? { color } : null, size > 12 ? { fontSize: size } : null, style);
return (React.createElement("i", { className: componentClass, style: componentStyle }, utils_1.isExist(component) && component));
};
Icon.propTypes = {
className: PropTypes.string,
style: PropTypes.object,
type: PropTypes.string,
size: PropTypes.number,
color: PropTypes.string,
component: PropTypes.node
};
exports.default = Icon;