UNPKG

tdesign-mobile-vue

Version:
184 lines (176 loc) 8.7 kB
/** * tdesign v1.10.0 * (c) 2025 TDesign Group * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _defineProperty = require('@babel/runtime/helpers/defineProperty'); var Vue = require('vue'); var tdesignIconsVueNext = require('tdesign-icons-vue-next'); var steps_stepItemProps = require('./step-item-props.js'); var config = require('../config.js'); var hooks_useClass = require('../hooks/useClass.js'); var hooks_tnode = require('../hooks/tnode.js'); require('../_chunks/dep-8faf539a.js'); require('../_chunks/dep-89a5c268.js'); require('../_common/js/global-config/mobile/default-config.js'); require('../_common/js/global-config/mobile/locale/zh_CN.js'); require('../_chunks/dep-f1b022d4.js'); require('@babel/runtime/helpers/typeof'); require('../_chunks/dep-cf7b394b.js'); require('dayjs'); require('../_chunks/dep-820109e5.js'); require('../_chunks/dep-e7b24284.js'); require('../_chunks/dep-afbc7386.js'); require('../_chunks/dep-37157f59.js'); require('../_chunks/dep-5c74143d.js'); require('../_chunks/dep-d9829397.js'); require('../_chunks/dep-e7a19ef8.js'); require('../_chunks/dep-86a65b5b.js'); require('../_chunks/dep-77928cee.js'); require('../_chunks/dep-f1b8f994.js'); require('../_chunks/dep-ea958be9.js'); require('../_chunks/dep-ca892ae6.js'); require('../_chunks/dep-3beabe42.js'); require('../_chunks/dep-4010f39f.js'); require('../_chunks/dep-ca176637.js'); require('../_chunks/dep-7cea0cb6.js'); require('../_chunks/dep-260a218a.js'); require('../_chunks/dep-bfb01be8.js'); require('../_chunks/dep-2ef39d0b.js'); require('../_chunks/dep-93492f08.js'); require('../_chunks/dep-ece32dab.js'); require('../_chunks/dep-2920a2ac.js'); require('../_chunks/dep-3911e21a.js'); require('../hooks/render-tnode.js'); require('../_chunks/dep-4ac62806.js'); require('../_chunks/dep-4c545d76.js'); require('../_chunks/dep-2c2d52bc.js'); require('../_chunks/dep-916464c0.js'); require('../_chunks/dep-e2ced27d.js'); require('../_chunks/dep-6e037233.js'); require('../_chunks/dep-1d4bd4d5.js'); require('../_chunks/dep-3faf272b.js'); require('../_common/js/utils/general.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty); var prefix = config["default"].prefix; var _StepItem = Vue.defineComponent({ name: "".concat(prefix, "-step-item"), props: steps_stepItemProps["default"], setup: function setup(props2, context) { var stepItemClass = hooks_useClass.usePrefixClass("step-item"); var renderTNodeJSX = hooks_tnode.useTNodeJSX(); var internalInstance = Vue.getCurrentInstance(); var proxy = internalInstance.proxy; var stepsProvide = Vue.inject("stepsProvide", void 0); stepsProvide.relation(proxy); var iconDefault = { check: Vue.h(tdesignIconsVueNext.CheckIcon), close: Vue.h(tdesignIconsVueNext.CloseIcon) }; var index = Vue.computed(function () { return stepsProvide.state.children.indexOf(proxy); }); var isLastChild = Vue.computed(function () { return index.value === (stepsProvide.sequence === "positive" ? stepsProvide.state.children.length - 1 : 0); }); var theme = Vue.computed(function () { return stepsProvide.theme; }); var dot = Vue.computed(function () { return theme.value === "dot"; }); var icon = Vue.computed(function () { return props2.icon || context.slots.icon; }); var current = Vue.computed(function () { return stepsProvide.current.value || stepsProvide.defaultCurrent || 0; }); var stepsStatus = Vue.computed(function () { return stepsProvide.currentStatus; }); var readonly = Vue.computed(function () { return stepsProvide.readonly; }); var currentStatus = Vue.computed(function () { var status = props2.status; if (status !== "default") return status; if (index.value === current.value) return stepsStatus.value; if (index.value < current.value) return "finish"; return status; }); var rootClassName = Vue.computed(function () { return [stepItemClass.value, "".concat(stepItemClass.value, "--").concat(stepsProvide.layout), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "--default"), readonly.value), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "--").concat(currentStatus.value), currentStatus.value)]; }); var iconWrapperClassName = Vue.computed(function () { return ["".concat(stepItemClass.value, "__anchor"), "".concat(stepItemClass.value, "__anchor--").concat(stepsProvide.layout)]; }); var dotClass = Vue.computed(function () { return ["".concat(stepItemClass.value, "__dot"), "".concat(stepItemClass.value, "__dot--").concat(currentStatus.value)]; }); var iconClassName = Vue.computed(function () { return [_defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__icon"), icon.value), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__icon--").concat(currentStatus.value), icon.value), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__circle"), !icon.value), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__circle--").concat(currentStatus.value), !icon.value)]; }); var contentClass = Vue.computed(function () { return ["".concat(stepItemClass.value, "__content"), "".concat(stepItemClass.value, "__content--").concat(stepsProvide.layout), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__content--").concat(stepsProvide.layout), isLastChild.value), _defineProperty__default["default"]({}, "".concat(stepItemClass.value, "__content--last"), isLastChild.value)]; }); var tilteClass = Vue.computed(function () { return ["".concat(stepItemClass.value, "__title"), "".concat(stepItemClass.value, "__title--").concat(currentStatus.value), "".concat(stepItemClass.value, "__title--").concat(stepsProvide.layout)]; }); var descriptionClass = Vue.computed(function () { return ["".concat(stepItemClass.value, "__description"), "".concat(stepItemClass.value, "__description--").concat(currentStatus.value), "".concat(stepItemClass.value, "__description--").concat(stepsProvide.layout)]; }); var extraClass = Vue.computed(function () { return ["".concat(stepItemClass.value, "__extra"), "".concat(stepItemClass.value, "__extra--").concat(currentStatus.value), "".concat(stepItemClass.value, "__extra--").concat(stepsProvide.layout)]; }); var separatorClass = Vue.computed(function () { return [stepItemClass.value, "".concat(stepItemClass.value, "__line"), "".concat(stepItemClass.value, "__line--").concat(currentStatus.value), "".concat(stepItemClass.value, "__line--").concat(stepsProvide.sequence), "".concat(stepItemClass.value, "__line--").concat(stepsProvide.layout), "".concat(stepItemClass.value, "__line--").concat(stepsProvide.theme)]; }); var onClickIcon = function onClickIcon(e) { if (!readonly.value) { stepsProvide.onClickItem(index.value, current.value, e); } }; Vue.onUnmounted(function () { stepsProvide.removeRelation(proxy); }); return function () { var renderIconContent = function renderIconContent() { if (icon.value) { return renderTNodeJSX("icon") || null; } if (currentStatus.value === "error") { return iconDefault.close; } if (currentStatus.value === "finish") { return iconDefault.check; } return index.value + 1; }; return Vue.createVNode("div", { "class": rootClassName.value, "onClick": onClickIcon }, [Vue.createVNode("div", { "class": iconWrapperClassName.value }, [dot.value ? Vue.createVNode("div", { "class": dotClass.value }, null) : Vue.createVNode("div", { "class": iconClassName.value }, [renderIconContent()])]), Vue.createVNode("div", { "class": contentClass.value }, [Vue.createVNode("div", { "class": tilteClass.value }, [renderTNodeJSX("title"), renderTNodeJSX("titleRight")]), Vue.createVNode("div", { "class": descriptionClass.value }, [renderTNodeJSX("content")]), Vue.createVNode("div", { "class": extraClass.value }, [renderTNodeJSX("extra")])]), !isLastChild.value && Vue.createVNode("div", { "class": separatorClass.value }, null)]); }; } }); exports["default"] = _StepItem; //# sourceMappingURL=step-item.js.map