chowa
Version:
UI component library based on React
48 lines (47 loc) • 1.86 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_1 = require("../icon");
const Result = (props) => {
const { className, style, title, subtitle, status, operation, children } = props;
const componentClass = classnames_1.default({
[utils_1.preClass('result')]: true,
[className]: utils_1.isExist(className)
});
const iconClass = classnames_1.default({
[utils_1.preClass('result-icon')]: true,
[utils_1.preClass(`result-icon-${status}`)]: true
});
return (React.createElement("div", { style: style, className: componentClass },
React.createElement("div", { className: iconClass },
React.createElement(icon_1.default, { type: `${status}-fill` })),
React.createElement("h2", { className: utils_1.preClass('result-title') }, title),
utils_1.isExist(subtitle) &&
React.createElement("p", { className: utils_1.preClass('result-subtitle') }, subtitle),
children,
utils_1.isExist(operation) &&
React.createElement("div", { className: utils_1.preClass('result-operation') }, operation)));
};
Result.propTypes = {
className: PropTypes.string,
style: PropTypes.object,
title: PropTypes.node.isRequired,
subtitle: PropTypes.node,
status: PropTypes.oneOf(['success', 'error', 'info', 'warning']),
operation: PropTypes.node
};
Result.defaultProps = {
status: 'info'
};
exports.default = Result;