UNPKG

tdesign-react

Version:
178 lines (170 loc) 7.77 kB
/** * tdesign v1.16.2 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var defineProperty = require('../_chunks/dep-0fe55884.js'); var slicedToArray = require('../_chunks/dep-5cb0d66d.js'); var React = require('react'); var classNames = require('classnames'); var _util_forwardRefWithStatics = require('../_util/forwardRefWithStatics.js'); var hooks_useConfig = require('../hooks/useConfig.js'); var hooks_useControlled = require('../hooks/useControlled.js'); var hooks_useDefaultProps = require('../hooks/useDefaultProps.js'); var steps_StepItem = require('./StepItem.js'); var steps_StepsContext = require('./StepsContext.js'); var steps_defaultProps = require('./defaultProps.js'); require('../_chunks/dep-b325182b.js'); require('../_chunks/dep-737b8bd8.js'); require('hoist-non-react-statics'); 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'); require('../_util/noop.js'); require('../_chunks/dep-908ffaed.js'); require('../_chunks/dep-a76ede3e.js'); require('../_chunks/dep-2ad01263.js'); require('../_chunks/dep-7659797a.js'); require('../_chunks/dep-eb2203ae.js'); 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, 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: props.readOnly || props.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