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.
InternshipProject/node_modules/rc-steps/lib/Step.js

198 lines
8.0 KiB

"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;