UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

184 lines (180 loc) 8.19 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ import { _ as _slicedToArray } from '../_chunks/dep-32d4c595.mjs'; import { _ as _defineProperty } from '../_chunks/dep-f9e836af.mjs'; import { defineComponent, toRefs, provide, reactive, ref, createVNode, mergeProps, computed } from 'vue'; import { i as isObject_1 } from '../_chunks/dep-6ad18815.mjs'; import props from './props.mjs'; import stepItemProps from './step-item-props.mjs'; import _StepItem from './step-item.mjs'; import { usePrefixClass } from '../hooks/useConfig.mjs'; import useVModel from '../hooks/useVModel.mjs'; import '../hooks/index.mjs'; import { useChildComponentSlots } from '../hooks/slot.mjs'; import '../_chunks/dep-89b966f4.mjs'; import '../_chunks/dep-82805301.mjs'; import '../_chunks/dep-10a947a6.mjs'; import '../_chunks/dep-7f8588b1.mjs'; import '../_chunks/dep-0aa9cf8a.mjs'; import '../_chunks/dep-1cc1c24f.mjs'; import '../_chunks/dep-b75d8d74.mjs'; import '../config-provider/useConfig.mjs'; import '../_chunks/dep-91ac8f71.mjs'; import '../_chunks/dep-c4737535.mjs'; import '../_chunks/dep-81c83986.mjs'; import '../_chunks/dep-6aa0223b.mjs'; import '../_chunks/dep-db381ece.mjs'; import '../_chunks/dep-5755c21c.mjs'; import '../_chunks/dep-7f239c43.mjs'; import '../_chunks/dep-6f04869e.mjs'; import '../_chunks/dep-d32fbbb3.mjs'; import '../_chunks/dep-dafada74.mjs'; import '../_chunks/dep-addc2a84.mjs'; import '../_chunks/dep-a95026f2.mjs'; import '../_chunks/dep-068e912d.mjs'; import '../_chunks/dep-6e7b37b8.mjs'; import '../_chunks/dep-e1ab85c5.mjs'; import '../_chunks/dep-5f0e0453.mjs'; import '../_chunks/dep-71f84cf2.mjs'; import '../_chunks/dep-0e832fc7.mjs'; import '../_chunks/dep-69963a8c.mjs'; import '../_chunks/dep-8d1c9a23.mjs'; import '../_chunks/dep-03412fab.mjs'; import '../_chunks/dep-205ff58d.mjs'; import '../_chunks/dep-11fa9c2c.mjs'; import '../_chunks/dep-b09f48fa.mjs'; import '../_chunks/dep-26bf361a.mjs'; import '../_chunks/dep-3ec3335a.mjs'; import '../_chunks/dep-ed4e7c50.mjs'; import '../_chunks/dep-a666b9ad.mjs'; import '../_common/js/global-config/default-config.mjs'; import '../_common/js/global-config/locale/en_US.mjs'; import '../config-provider/type.mjs'; import '../hooks/tnode.mjs'; import '../_chunks/dep-a628549d.mjs'; import '../_chunks/dep-4903a8a8.mjs'; import '../_chunks/dep-7dcfa37a.mjs'; import '../_chunks/dep-f4eba04c.mjs'; import '../_chunks/dep-735bcd0d.mjs'; import '../_chunks/dep-765678ef.mjs'; import '../_chunks/dep-8db27830.mjs'; import '../_chunks/dep-ae4bffa5.mjs'; import '../utils/render-tnode.mjs'; import '../_chunks/dep-9d7ebc32.mjs'; import '../hooks/icon.mjs'; import '../hooks/useCommonClassName.mjs'; import '../hooks/useDefaultValue.mjs'; import '../hooks/useDestroyOnClose.mjs'; import '../hooks/useKeepAnimation.mjs'; import '../hooks/useRipple.mjs'; import '../utils/set-style.mjs'; import '../hooks/useVirtualScroll.mjs'; import '../hooks/useImagePreviewUrl.mjs'; import '../_common/js/upload/utils.mjs'; import '../_common/js/log/log.mjs'; function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var _Steps = defineComponent({ name: "XSteps", props: _objectSpread({}, props), setup: function setup(props2) { var COMPONENT_NAME = usePrefixClass("steps"); var _toRefs = toRefs(props2), current = _toRefs.current, modelValue = _toRefs.modelValue; var _useVModel = useVModel(current, modelValue, props2.defaultCurrent, props2.onChange, "current"), _useVModel2 = _slicedToArray(_useVModel, 2), innerCurrent = _useVModel2[0], setInnerCurrent = _useVModel2[1]; provide("StepsState", reactive({ current: innerCurrent, setCurrent: setInnerCurrent })); provide("StepsProps", props2); var indexMap = ref({}); var handleStatus = function handleStatus(itemProps, index) { if (itemProps.status && itemProps.status !== "default") return itemProps.status; if (innerCurrent.value === "FINISH") return "finish"; if (itemProps.value === void 0 && index < innerCurrent.value) return "finish"; if (itemProps.value !== void 0) { var matchIndex = indexMap.value[innerCurrent.value]; if (matchIndex === void 0) { console.warn("TDesign Steps Warn: The current `value` is not exist."); return "default"; } if (props2.sequence === "positive" && index < matchIndex) return "finish"; if (props2.sequence === "reverse" && index > matchIndex) return "finish"; } var key = itemProps.value === void 0 ? index : itemProps.value; if (key === innerCurrent.value) return "process"; return "default"; }; var getChildComponentByName = useChildComponentSlots(); var getOptionListBySlots = function getOptionListBySlots(nodes) { var arr = []; nodes === null || nodes === void 0 ? void 0 : nodes.forEach(function (node) { var option = (node === null || node === void 0 ? void 0 : node.props) || {}; var children = node === null || node === void 0 ? void 0 : node.children; if (!option && !children) return; if (children && isObject_1(children)) { for (var key in children) { if (key in stepItemProps && !option[key]) { option[key] = children[key]; } } } props2.sequence === "reverse" ? arr.unshift(option) : arr.push(option); }); return arr; }; var getOptions = function getOptions() { var _props2$options; var options; if ((_props2$options = props2.options) !== null && _props2$options !== void 0 && _props2$options.length) { options = props2.sequence === "reverse" ? props2.options.slice().reverse() : props2.options; } else { var nodes = getChildComponentByName("StepItem"); options = getOptionListBySlots(nodes); } (options || []).forEach(function (item, index) { if (item.value !== void 0) indexMap.value[item.value] = index; }); return options; }; var renderContent = function renderContent() { var options = getOptions(); return options.map(function (item, index) { var stepIndex = props2.sequence === "reverse" ? options.length - index - 1 : index; index = item.value !== void 0 ? index : stepIndex; return createVNode(_StepItem, mergeProps(item, { "index": stepIndex, "status": handleStatus(item, index), "key": item.value || index }), null); }); }; var handleTheme = function handleTheme() { var theme = props2.theme; var options = getOptions(); options.forEach(function (item) { if ((item === null || item === void 0 ? void 0 : item.icon) !== void 0) { theme = "default"; } }); return theme; }; var baseClass = computed(function () { return [COMPONENT_NAME.value, "".concat(COMPONENT_NAME.value, "--").concat(props2.layout), "".concat(COMPONENT_NAME.value, "--").concat(handleTheme(), "-anchor"), "".concat(COMPONENT_NAME.value, "--").concat(props2.sequence), "".concat(COMPONENT_NAME.value, "--").concat(props2.separator, "-separator")]; }); return function () { return createVNode("div", { "class": baseClass.value }, [renderContent()]); }; } }); export { _Steps as default }; //# sourceMappingURL=steps.mjs.map