chowa
Version:
UI component library based on React
48 lines (47 loc) • 2.17 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.
*/
"use strict";
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 StepsItem = (props) => {
const { title, className, style, status, description, iconType, icon, stepNumber, onSelect } = props;
const componentClass = classnames_1.default({
[utils_1.preClass('steps-item')]: true,
[utils_1.preClass(`steps-item-${status}`)]: true,
[utils_1.preClass('steps-item-select')]: !!onSelect,
[className]: utils_1.isExist(className)
});
return (React.createElement("div", { className: componentClass, style: style },
React.createElement("div", { className: utils_1.preClass('steps-item-inner') },
React.createElement("span", { className: utils_1.preClass('steps-item-icon'), onClick: utils_1.isExist(onSelect) ? onSelect.bind(this, stepNumber) : null },
icon && icon,
iconType &&
React.createElement(icon_1.default, { type: iconType }),
!icon && !iconType && stepNumber),
React.createElement("div", { className: utils_1.preClass('steps-item-content') },
React.createElement("div", { className: utils_1.preClass('steps-item-title') }, title),
description &&
React.createElement("div", { className: utils_1.preClass('steps-item-description') }, description)))));
};
StepsItem.propTypes = {
className: PropTypes.string,
style: PropTypes.object,
status: PropTypes.oneOf(['wait', 'process', 'finish', 'error']),
title: PropTypes.node.isRequired,
description: PropTypes.node,
iconType: PropTypes.string,
icon: PropTypes.node,
stepNumber: PropTypes.number,
onSelect: PropTypes.func
};
exports.default = StepsItem;