"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); 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 _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper")); var React = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _excluded = ["className", "prefixCls", "style", "active", "status", "iconPrefix", "icon", "wrapperStyle", "stepNumber", "disabled", "description", "title", "subTitle", "progressDot", "stepIcon", "tailContent", "icons", "stepIndex", "onStepClick", "onClick"]; function isString(str) { return typeof str === 'string'; } var Step = /*#__PURE__*/function (_React$Component) { (0, _inherits2.default)(Step, _React$Component); var _super = (0, _createSuper2.default)(Step); function Step() { var _this; (0, _classCallCheck2.default)(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; } (0, _createClass2.default)(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 = (0, _classnames.default)("".concat(prefixCls, "-icon"), "".concat(iconPrefix, "icon"), (_classNames = {}, (0, _defineProperty2.default)(_classNames, "".concat(iconPrefix, "icon-").concat(icon), icon && isString(icon)), (0, _defineProperty2.default)(_classNames, "".concat(iconPrefix, "icon-check"), !icon && status === 'finish' && (icons && !icons.finish || !icons)), (0, _defineProperty2.default)(_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 = (0, _objectWithoutProperties2.default)(_this$props3, _excluded); var classString = (0, _classnames.default)("".concat(prefixCls, "-item"), "".concat(prefixCls, "-item-").concat(status), className, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-item-custom"), icon), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-item-active"), active), (0, _defineProperty2.default)(_classNames2, "".concat(prefixCls, "-item-disabled"), disabled === true), _classNames2)); var stepItemStyle = (0, _objectSpread2.default)({}, 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); exports.default = Step;