tdesign-react
Version:
TDesign Component for React
136 lines (128 loc) • 6.17 kB
JavaScript
/**
* tdesign v1.11.6
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var defineProperty = require('../_chunks/dep-56a79f9c.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-5b35215f.js');
require('../config-provider/ConfigContext.js');
require('../_chunks/dep-fa2097c1.js');
require('../_chunks/dep-f6f16bd8.js');
require('dayjs');
require('../_chunks/dep-59bb0827.js');
require('../_chunks/dep-68f8743f.js');
require('../_chunks/dep-a8d0483a.js');
require('../_chunks/dep-6e34d7d7.js');
require('../_chunks/dep-d45b3350.js');
require('../_chunks/dep-ec3beb8d.js');
require('../_chunks/dep-b7e21379.js');
require('../_chunks/dep-73937edb.js');
require('../_chunks/dep-8d4e8f1c.js');
require('../_chunks/dep-1d022321.js');
require('../_chunks/dep-ab08e148.js');
require('../_chunks/dep-9df70348.js');
require('../_chunks/dep-af16359b.js');
require('../_chunks/dep-e11afe29.js');
require('../_chunks/dep-346ac5f4.js');
require('../_chunks/dep-612ec5c9.js');
require('../_chunks/dep-4d25d6c0.js');
require('../_chunks/dep-496c0353.js');
require('../_chunks/dep-1f530d81.js');
require('../_chunks/dep-a4bc3144.js');
require('../_chunks/dep-535a3b69.js');
require('../_chunks/dep-d11b328f.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) {
return null;
}
var iconCls = "".concat(classPrefix, "-steps-item__icon--number");
if (icon && icon !== true) {
return /* @__PURE__ */React__default["default"].createElement("span", {
className: iconCls
}, icon);
}
if (theme !== "default") {
return null;
}
if (status === "error") {
return /* @__PURE__ */React__default["default"].createElement("span", {
className: iconCls
}, globalStepsConfig.errorIcon || /* @__PURE__ */React__default["default"].createElement(CloseIcon, null));
}
if (status === "finish") {
return /* @__PURE__ */React__default["default"].createElement("span", {
className: iconCls
}, globalStepsConfig.checkIcon || /* @__PURE__ */React__default["default"].createElement(CheckIcon, null));
}
return /* @__PURE__ */React__default["default"].createElement("span", {
className: iconCls
}, Number(index) + 1);
}, [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