tdesign-react
Version:
TDesign Component for React
131 lines (123 loc) • 5.98 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-0006fcfa.js');
var React = require('react');
var classNames = require('classnames');
var tdesignIconsReact = require('tdesign-icons-react');
var hooks_useConfig = require('../hooks/useConfig.js');
var hooks_useGlobalIcon = require('../hooks/useGlobalIcon.js');
var steps_StepsContext = require('./StepsContext.js');
var steps_defaultProps = require('./defaultProps.js');
var hooks_useDefaultProps = require('../hooks/useDefaultProps.js');
require('../_chunks/dep-667ac7af.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-1df1dad8.js');
require('../_chunks/dep-5b5ab11b.js');
require('dayjs');
require('../_chunks/dep-f32c03f1.js');
require('../_chunks/dep-31c4bc3d.js');
require('../_chunks/dep-eea2872a.js');
require('../_chunks/dep-25585736.js');
require('../_chunks/dep-62e73936.js');
require('../_chunks/dep-64577888.js');
require('../_chunks/dep-71455db7.js');
require('../_chunks/dep-9e5a468d.js');
require('../_chunks/dep-ec8d2dca.js');
require('../_chunks/dep-fc596d16.js');
require('../_chunks/dep-f26edb7b.js');
require('../_chunks/dep-f33c1939.js');
require('../_chunks/dep-21ece627.js');
require('../_chunks/dep-25e4aa84.js');
require('../_chunks/dep-e1fbe1c3.js');
require('../_chunks/dep-df2b541f.js');
require('../_chunks/dep-edd366db.js');
require('../_chunks/dep-a56c4939.js');
require('../_chunks/dep-6c297e20.js');
require('../_chunks/dep-b7ad4d54.js');
require('../_chunks/dep-a2cb9299.js');
require('../_chunks/dep-f981815b.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
var StepItem = function StepItem(originalProps) {
var props = hooks_useDefaultProps["default"](originalProps, steps_defaultProps.stepItemDefaultProps);
var index = props.index,
icon = props.icon,
title = props.title,
content = props.content,
value = props.value,
children = props.children,
style = props.style,
status = props.status;
var _useContext = React.useContext(steps_StepsContext["default"]),
current = _useContext.current,
theme = _useContext.theme,
onChange = _useContext.onChange,
readonly = _useContext.readonly;
var _useConfig = hooks_useConfig["default"](),
classPrefix = _useConfig.classPrefix,
globalStepsConfig = _useConfig.steps;
var _useGlobalIcon = hooks_useGlobalIcon["default"]({
CloseIcon: tdesignIconsReact.CloseIcon,
CheckIcon: tdesignIconsReact.CheckIcon
}),
CloseIcon = _useGlobalIcon.CloseIcon,
CheckIcon = _useGlobalIcon.CheckIcon;
var canClick = status !== "process" && !readonly;
var iconNode = React__default["default"].useMemo(function () {
if (!icon || theme !== "default") {
return null;
}
if (icon !== true) {
return icon;
}
var iconCls = "".concat(classPrefix, "-steps-item__icon--number");
var getDefaultIconByStatus = function getDefaultIconByStatus() {
switch (status) {
case "error":
return globalStepsConfig.errorIcon || /* @__PURE__ */React__default["default"].createElement(CloseIcon, null);
case "finish":
return globalStepsConfig.checkIcon || /* @__PURE__ */React__default["default"].createElement(CheckIcon, null);
default:
return Number(index) + 1;
}
};
return /* @__PURE__ */React__default["default"].createElement("span", {
className: iconCls
}, getDefaultIconByStatus());
}, [icon, classPrefix, theme, status, globalStepsConfig, index, CloseIcon, CheckIcon]);
function onStepClick(e) {
if (!canClick) {
return;
}
var currentValue = value !== null && value !== void 0 ? value : index;
onChange(currentValue, current, {
e: e
});
}
return /* @__PURE__ */React__default["default"].createElement("div", {
style: style,
className: classNames__default["default"](defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-steps-item"), true), "".concat(classPrefix, "-steps-item--wait"), status === "default"), "".concat(classPrefix, "-steps-item--error"), status === "error"), "".concat(classPrefix, "-steps-item--finish"), status === "finish"), "".concat(classPrefix, "-steps-item--process"), status === "process"), props.className, !!props.className))
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: classNames__default["default"]("".concat(classPrefix, "-steps-item__inner"), defineProperty._defineProperty({}, "".concat(classPrefix, "-steps-item--clickable"), canClick)),
onClick: onStepClick
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: classNames__default["default"]("".concat(classPrefix, "-steps-item__icon"), defineProperty._defineProperty({}, "".concat(classPrefix, "-steps-item-").concat(status), status))
}, iconNode), /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-steps-item__content")
}, /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-steps-item__title")
}, title), /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-steps-item__description")
}, content), children ? /* @__PURE__ */React__default["default"].createElement("div", {
className: "".concat(classPrefix, "-steps-item__extra")
}, children) : null)));
};
StepItem.displayName = "StepItem";
exports["default"] = StepItem;
//# sourceMappingURL=StepItem.js.map