UNPKG

tdesign-react

Version:
180 lines (172 loc) 7.82 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../_chunks/dep-0006fcfa.js'); var slicedToArray = require('../_chunks/dep-8e4d656d.js'); var React = require('react'); var classNames = require('classnames'); var hooks_useConfig = require('../hooks/useConfig.js'); var hooks_useControlled = require('../hooks/useControlled.js'); var _util_forwardRefWithStatics = require('../_util/forwardRefWithStatics.js'); var steps_StepItem = require('./StepItem.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('../_chunks/dep-00b49251.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'); require('../_util/noop.js'); require('../_chunks/dep-66114ce9.js'); require('../_chunks/dep-62d1dd66.js'); require('../_chunks/dep-7a148045.js'); require('../_chunks/dep-255ceed8.js'); require('../_chunks/dep-79629634.js'); require('hoist-non-react-statics'); require('tdesign-icons-react'); require('../hooks/useGlobalIcon.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); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { defineProperty._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var Steps = _util_forwardRefWithStatics["default"](function (originalProps, ref) { var props = hooks_useDefaultProps["default"](originalProps, steps_defaultProps.stepsDefaultProps); var style = props.style, readonly = props.readonly, layout = props.layout, theme = props.theme, sequence = props.sequence, separator = props.separator, children = props.children, options = props.options; var _useConfig = hooks_useConfig["default"](), classPrefix = _useConfig.classPrefix; var _useControlled = hooks_useControlled["default"](props, "current", props.onChange), _useControlled2 = slicedToArray._slicedToArray(_useControlled, 2), current = _useControlled2[0], onChange = _useControlled2[1]; var indexMap = React.useMemo(function () { var map = {}; if (options) { options.forEach(function (item, index) { if (item.value !== void 0) { map[item.value] = index; } }); } else { React__default["default"].Children.forEach(children, function (child, index) { if (! /*#__PURE__*/React__default["default"].isValidElement(child)) { return; } if (child.props.value !== void 0) { map[child.props.value] = index; } }); } return map; }, [options, children]); var handleStatus = React.useCallback(function (item, index) { var _item$value; if (current === "FINISH") { return "finish"; } if (item.status && item.status !== "default") { return item.status; } if (item.value === void 0) { if (sequence === "positive" && typeof current === "number" && index < current) { return "finish"; } if (sequence === "reverse" && typeof current === "number" && index > current) { return "finish"; } } if (item.value !== void 0) { var matchIndex = indexMap[current]; if (matchIndex === void 0) { console.warn("TDesign Steps Warn: The current `value` is not exist."); return "default"; } if (sequence === "positive" && index < matchIndex) { return "finish"; } if (sequence === "reverse" && index > matchIndex) { return "finish"; } } var key = (_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : index; if (key === current) { return "process"; } return "default"; }, [current, sequence, indexMap]); var stepItemList = React.useMemo(function () { if (options) { var optionsDisplayList = sequence === "reverse" ? options.reverse() : options; return options.map(function (item, index) { var stepIndex = sequence === "reverse" ? optionsDisplayList.length - index - 1 : index; return /* @__PURE__ */React__default["default"].createElement(steps_StepItem["default"], _objectSpread(_objectSpread({ key: index }, item), {}, { index: stepIndex, status: handleStatus(item, index) })); }); } var childrenList = React__default["default"].Children.toArray(children); var childrenDisplayList = sequence === "reverse" ? childrenList.reverse() : childrenList; return childrenList.map(function (child, index) { var stepIndex = sequence === "reverse" ? childrenDisplayList.length - index - 1 : index; return /*#__PURE__*/React__default["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, { index: stepIndex, status: handleStatus(child.props, index) })); }); }, [options, children, sequence, handleStatus]); return /* @__PURE__ */React__default["default"].createElement(steps_StepsContext["default"].Provider, { value: { current: current, theme: theme, readonly: readonly, onChange: onChange } }, /* @__PURE__ */React__default["default"].createElement("div", { ref: ref, style: style, className: classNames__default["default"](defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty(defineProperty._defineProperty({}, "".concat(classPrefix, "-steps"), true), "".concat(classPrefix, "-steps--").concat(theme, "-anchor"), theme), "".concat(classPrefix, "-steps--").concat(layout), layout), "".concat(classPrefix, "-steps--").concat(sequence), sequence), "".concat(classPrefix, "-steps--").concat(separator, "-separator"), separator), props.className, !!props.className)) }, stepItemList)); }, { StepItem: steps_StepItem["default"] }); Steps.displayName = "Steps"; exports["default"] = Steps; //# sourceMappingURL=Steps.js.map