UNPKG

hongluan-ui

Version:
54 lines (51 loc) 1.79 kB
import { defineComponent, getCurrentInstance, watch, provide, openBlock, createElementBlock, normalizeClass, normalizeStyle, renderSlot } from 'vue'; import '../../../hooks/index.mjs'; import '../../../constants/index.mjs'; import { stepsProps, stepsEmits } from './steps.mjs'; import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs'; import { useNamespace } from '../../../hooks/use-namespace/index.mjs'; import { useOrderedChildren } from '../../../hooks/use-ordered-children/index.mjs'; import { CHANGE_EVENT } from '../../../constants/event.mjs'; const _sfc_main = defineComponent({ name: "Steps", props: stepsProps, emits: stepsEmits, setup(props, { emit }) { const { namespace } = useNamespace("steps"); const { children: steps, addChild: addStep, removeChild: removeStep } = useOrderedChildren(getCurrentInstance(), "Step"); watch(steps, () => { steps.value.forEach((instance, index) => { instance.setIndex(index); }); }); provide("Steps", { props, steps, addStep, removeStep }); watch(() => props.active, (newVal, oldVal) => { emit(CHANGE_EVENT, newVal, oldVal); }); return { namespace, steps }; } }); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", { class: normalizeClass([ _ctx.namespace, _ctx.dir ]), style: normalizeStyle([ _ctx.gap ? `--steps-gap: ${_ctx.gap}` : "", _ctx.itemPadding ? `--steps-item-padding: ${_ctx.itemPadding}` : "" ]) }, [ renderSlot(_ctx.$slots, "default") ], 6); } var Steps = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { Steps as default }; //# sourceMappingURL=steps2.mjs.map