choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
202 lines (167 loc) • 8.01 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
function _createSuper(Derived) {
function isNativeReflectConstruct() {
if (typeof Reflect === "undefined" || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === "function") return true;
try {
Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
return true;
} catch (e) {
return false;
}
}
return function () {
var Super = (0, _getPrototypeOf2["default"])(Derived),
result;
if (isNativeReflectConstruct()) {
var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor;
result = Reflect.construct(Super, arguments, NewTarget);
} else {
result = Super.apply(this, arguments);
}
return (0, _possibleConstructorReturn2["default"])(this, result);
};
}
function isString(str) {
return typeof str === 'string';
}
var Step =
/*#__PURE__*/
function (_Component) {
(0, _inherits2["default"])(Step, _Component);
var _super = _createSuper(Step);
function Step() {
(0, _classCallCheck2["default"])(this, Step);
return _super.apply(this, arguments);
}
(0, _createClass2["default"])(Step, [{
key: "renderIconNode",
value: function renderIconNode() {
var _classNames;
var _this$props = this.props,
prefixCls = _this$props.prefixCls,
progressDot = _this$props.progressDot,
stepNumber = _this$props.stepNumber,
status = _this$props.status,
title = _this$props.title,
description = _this$props.description,
icon = _this$props.icon,
iconPrefix = _this$props.iconPrefix;
var iconNode;
var iconClassName = (0, _classnames["default"])("".concat(iconPrefix), (_classNames = {}, (0, _defineProperty2["default"])(_classNames, "".concat(iconPrefix, "-").concat(icon), icon && isString(icon)), (0, _defineProperty2["default"])(_classNames, "".concat(iconPrefix, "-check"), !icon && status === 'finish'), (0, _defineProperty2["default"])(_classNames, "".concat(iconPrefix, "-close"), !icon && status === 'error'), _classNames));
var iconDot = _react["default"].createElement("span", {
className: "".concat(prefixCls, "-icon-dot")
}); // `progressDot` enjoy the highest priority
if (progressDot) {
if (typeof progressDot === 'function') {
iconNode = _react["default"].createElement("span", {
className: "".concat(prefixCls, "-icon")
}, progressDot(iconDot, {
index: stepNumber - 1,
status: status,
title: title,
description: description
}));
} else {
iconNode = _react["default"].createElement("span", {
className: "".concat(prefixCls, "-icon")
}, iconDot);
}
} else if (icon && !isString(icon)) {
iconNode = _react["default"].createElement("span", {
className: "".concat(prefixCls, "-icon")
}, icon);
} else if (icon || status === 'finish' || status === 'error') {
iconNode = _react["default"].createElement("span", {
className: iconClassName
});
} else {
iconNode = _react["default"].createElement("span", {
className: "".concat(prefixCls, "-icon")
}, stepNumber);
}
return iconNode;
}
}, {
key: "render",
value: function render() {
var _this$props2 = this.props,
className = _this$props2.className,
prefixCls = _this$props2.prefixCls,
style = _this$props2.style,
itemWidth = _this$props2.itemWidth,
_this$props2$status = _this$props2.status,
status = _this$props2$status === void 0 ? 'wait' : _this$props2$status,
iconPrefix = _this$props2.iconPrefix,
icon = _this$props2.icon,
wrapperStyle = _this$props2.wrapperStyle,
adjustMarginRight = _this$props2.adjustMarginRight,
stepNumber = _this$props2.stepNumber,
description = _this$props2.description,
title = _this$props2.title,
progressDot = _this$props2.progressDot,
tailContent = _this$props2.tailContent,
restProps = (0, _objectWithoutProperties2["default"])(_this$props2, ["className", "prefixCls", "style", "itemWidth", "status", "iconPrefix", "icon", "wrapperStyle", "adjustMarginRight", "stepNumber", "description", "title", "progressDot", "tailContent"]);
var classString = (0, _classnames["default"])("".concat(prefixCls, "-item"), "".concat(prefixCls, "-item-").concat(status), className, (0, _defineProperty2["default"])({}, "".concat(prefixCls, "-item-custom"), icon));
var stepItemStyle = (0, _objectSpread2["default"])({}, style);
if (itemWidth) {
stepItemStyle.width = itemWidth;
}
if (adjustMarginRight) {
stepItemStyle.marginRight = adjustMarginRight;
}
return _react["default"].createElement("div", (0, _extends2["default"])({}, restProps, {
className: classString,
style: stepItemStyle
}), _react["default"].createElement("div", {
className: "".concat(prefixCls, "-item-tail")
}, tailContent), _react["default"].createElement("div", {
className: "".concat(prefixCls, "-item-icon")
}, this.renderIconNode()), _react["default"].createElement("div", {
className: "".concat(prefixCls, "-item-content")
}, _react["default"].createElement("div", {
className: "".concat(prefixCls, "-item-title")
}, title), description && _react["default"].createElement("div", {
className: "".concat(prefixCls, "-item-description")
}, description)));
}
}]);
return Step;
}(_react.Component);
exports["default"] = Step;
(0, _defineProperty2["default"])(Step, "propTypes", {
className: _propTypes["default"].string,
prefixCls: _propTypes["default"].string,
style: _propTypes["default"].object,
wrapperStyle: _propTypes["default"].object,
itemWidth: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
status: _propTypes["default"].string,
iconPrefix: _propTypes["default"].string,
icon: _propTypes["default"].node,
adjustMarginRight: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
stepNumber: _propTypes["default"].string,
description: _propTypes["default"].any,
title: _propTypes["default"].any,
progressDot: _propTypes["default"].oneOfType([_propTypes["default"].bool, _propTypes["default"].func]),
tailContent: _propTypes["default"].any
});
//# sourceMappingURL=Step.js.map