tdesign-react
Version:
TDesign Component for React
130 lines (122 loc) • 5.94 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-0fe55884.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-b325182b.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-17dea53e.js');
require('../_chunks/dep-a0cbf081.js');
require('dayjs');
require('../_chunks/dep-481a1ecc.js');
require('../_chunks/dep-474eb386.js');
require('../_chunks/dep-3b256bc0.js');
require('../_chunks/dep-4ce0670e.js');
require('../_chunks/dep-3448f35f.js');
require('../_chunks/dep-b6a3ada9.js');
require('../_chunks/dep-967e785f.js');
require('../_chunks/dep-5c8525ea.js');
require('../_chunks/dep-735cd5b9.js');
require('../_chunks/dep-bdafd287.js');
require('../_chunks/dep-4d300b8f.js');
require('../_chunks/dep-3332ad6f.js');
require('../_chunks/dep-98783318.js');
require('../_chunks/dep-fc884a8e.js');
require('../_chunks/dep-008b21d4.js');
require('../_chunks/dep-9193eded.js');
require('../_chunks/dep-afe817f9.js');
require('../_chunks/dep-0b70c7ec.js');
require('../_chunks/dep-a1e3e59b.js');
require('../_chunks/dep-24ab8f68.js');
require('../_chunks/dep-753b7d52.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