You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
7.4 KiB
185 lines
7.4 KiB
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
|
var _excluded = ["className", "prefixCls", "style", "active", "status", "iconPrefix", "icon", "wrapperStyle", "stepNumber", "disabled", "description", "title", "subTitle", "progressDot", "stepIcon", "tailContent", "icons", "stepIndex", "onStepClick", "onClick"];
|
|
|
|
/* eslint react/prop-types: 0 */
|
|
import * as React from 'react';
|
|
import classNames from 'classnames';
|
|
|
|
function isString(str) {
|
|
return typeof str === 'string';
|
|
}
|
|
|
|
var Step = /*#__PURE__*/function (_React$Component) {
|
|
_inherits(Step, _React$Component);
|
|
|
|
var _super = _createSuper(Step);
|
|
|
|
function Step() {
|
|
var _this;
|
|
|
|
_classCallCheck(this, Step);
|
|
|
|
_this = _super.apply(this, arguments);
|
|
|
|
_this.onClick = function () {
|
|
var _this$props = _this.props,
|
|
onClick = _this$props.onClick,
|
|
onStepClick = _this$props.onStepClick,
|
|
stepIndex = _this$props.stepIndex;
|
|
|
|
if (onClick) {
|
|
onClick.apply(void 0, arguments);
|
|
}
|
|
|
|
onStepClick(stepIndex);
|
|
};
|
|
|
|
return _this;
|
|
}
|
|
|
|
_createClass(Step, [{
|
|
key: "renderIconNode",
|
|
value: function renderIconNode() {
|
|
var _classNames;
|
|
|
|
var _this$props2 = this.props,
|
|
prefixCls = _this$props2.prefixCls,
|
|
progressDot = _this$props2.progressDot,
|
|
stepIcon = _this$props2.stepIcon,
|
|
stepNumber = _this$props2.stepNumber,
|
|
status = _this$props2.status,
|
|
title = _this$props2.title,
|
|
description = _this$props2.description,
|
|
icon = _this$props2.icon,
|
|
iconPrefix = _this$props2.iconPrefix,
|
|
icons = _this$props2.icons;
|
|
var iconNode;
|
|
var iconClassName = classNames("".concat(prefixCls, "-icon"), "".concat(iconPrefix, "icon"), (_classNames = {}, _defineProperty(_classNames, "".concat(iconPrefix, "icon-").concat(icon), icon && isString(icon)), _defineProperty(_classNames, "".concat(iconPrefix, "icon-check"), !icon && status === 'finish' && (icons && !icons.finish || !icons)), _defineProperty(_classNames, "".concat(iconPrefix, "icon-cross"), !icon && status === 'error' && (icons && !icons.error || !icons)), _classNames));
|
|
var iconDot = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon-dot")
|
|
}); // `progressDot` enjoy the highest priority
|
|
|
|
if (progressDot) {
|
|
if (typeof progressDot === 'function') {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, progressDot(iconDot, {
|
|
index: stepNumber - 1,
|
|
status: status,
|
|
title: title,
|
|
description: description
|
|
}));
|
|
} else {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, iconDot);
|
|
}
|
|
} else if (icon && !isString(icon)) {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, icon);
|
|
} else if (icons && icons.finish && status === 'finish') {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, icons.finish);
|
|
} else if (icons && icons.error && status === 'error') {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, icons.error);
|
|
} else if (icon || status === 'finish' || status === 'error') {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: iconClassName
|
|
});
|
|
} else {
|
|
iconNode = /*#__PURE__*/React.createElement("span", {
|
|
className: "".concat(prefixCls, "-icon")
|
|
}, stepNumber);
|
|
}
|
|
|
|
if (stepIcon) {
|
|
iconNode = stepIcon({
|
|
index: stepNumber - 1,
|
|
status: status,
|
|
title: title,
|
|
description: description,
|
|
node: iconNode
|
|
});
|
|
}
|
|
|
|
return iconNode;
|
|
}
|
|
}, {
|
|
key: "render",
|
|
value: function render() {
|
|
var _classNames2;
|
|
|
|
var _this$props3 = this.props,
|
|
className = _this$props3.className,
|
|
prefixCls = _this$props3.prefixCls,
|
|
style = _this$props3.style,
|
|
active = _this$props3.active,
|
|
_this$props3$status = _this$props3.status,
|
|
status = _this$props3$status === void 0 ? 'wait' : _this$props3$status,
|
|
iconPrefix = _this$props3.iconPrefix,
|
|
icon = _this$props3.icon,
|
|
wrapperStyle = _this$props3.wrapperStyle,
|
|
stepNumber = _this$props3.stepNumber,
|
|
disabled = _this$props3.disabled,
|
|
description = _this$props3.description,
|
|
title = _this$props3.title,
|
|
subTitle = _this$props3.subTitle,
|
|
progressDot = _this$props3.progressDot,
|
|
stepIcon = _this$props3.stepIcon,
|
|
tailContent = _this$props3.tailContent,
|
|
icons = _this$props3.icons,
|
|
stepIndex = _this$props3.stepIndex,
|
|
onStepClick = _this$props3.onStepClick,
|
|
onClick = _this$props3.onClick,
|
|
restProps = _objectWithoutProperties(_this$props3, _excluded);
|
|
|
|
var classString = classNames("".concat(prefixCls, "-item"), "".concat(prefixCls, "-item-").concat(status), className, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-item-custom"), icon), _defineProperty(_classNames2, "".concat(prefixCls, "-item-active"), active), _defineProperty(_classNames2, "".concat(prefixCls, "-item-disabled"), disabled === true), _classNames2));
|
|
|
|
var stepItemStyle = _objectSpread({}, style);
|
|
|
|
var accessibilityProps = {};
|
|
|
|
if (onStepClick && !disabled) {
|
|
accessibilityProps.role = 'button';
|
|
accessibilityProps.tabIndex = 0;
|
|
accessibilityProps.onClick = this.onClick;
|
|
}
|
|
|
|
return /*#__PURE__*/React.createElement("div", Object.assign({}, restProps, {
|
|
className: classString,
|
|
style: stepItemStyle
|
|
}), /*#__PURE__*/React.createElement("div", Object.assign({
|
|
onClick: onClick
|
|
}, accessibilityProps, {
|
|
className: "".concat(prefixCls, "-item-container")
|
|
}), /*#__PURE__*/React.createElement("div", {
|
|
className: "".concat(prefixCls, "-item-tail")
|
|
}, tailContent), /*#__PURE__*/React.createElement("div", {
|
|
className: "".concat(prefixCls, "-item-icon")
|
|
}, this.renderIconNode()), /*#__PURE__*/React.createElement("div", {
|
|
className: "".concat(prefixCls, "-item-content")
|
|
}, /*#__PURE__*/React.createElement("div", {
|
|
className: "".concat(prefixCls, "-item-title")
|
|
}, title, subTitle && /*#__PURE__*/React.createElement("div", {
|
|
title: typeof subTitle === 'string' ? subTitle : undefined,
|
|
className: "".concat(prefixCls, "-item-subtitle")
|
|
}, subTitle)), description && /*#__PURE__*/React.createElement("div", {
|
|
className: "".concat(prefixCls, "-item-description")
|
|
}, description))));
|
|
}
|
|
}]);
|
|
|
|
return Step;
|
|
}(React.Component);
|
|
|
|
export { Step as default }; |