e4beee1c8e446e1ca09d1a32c6695ac8e3c6ee63132680926e5b03a0941ee561296bda4477c8a677939c59215fdd54cc59c514d31070b0c1fae0c015a02eba 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { defineComponent, getCurrentInstance, watch, provide, openBlock, createElementBlock, normalizeClass, unref, renderSlot, createVNode } from 'vue';
  2. import { stepsProps, stepsEmits } from './steps.mjs';
  3. import { STEPS_INJECTION_KEY } from './tokens.mjs';
  4. import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
  5. import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
  6. import { useOrderedChildren } from '../../../hooks/use-ordered-children/index.mjs';
  7. import { CHANGE_EVENT } from '../../../constants/event.mjs';
  8. const __default__ = defineComponent({
  9. name: "ElSteps"
  10. });
  11. const _sfc_main = /* @__PURE__ */ defineComponent({
  12. ...__default__,
  13. props: stepsProps,
  14. emits: stepsEmits,
  15. setup(__props, { emit }) {
  16. const props = __props;
  17. const ns = useNamespace("steps");
  18. const {
  19. children: steps,
  20. addChild: addStep,
  21. removeChild: removeStep,
  22. ChildrenSorter: StepsSorter
  23. } = useOrderedChildren(getCurrentInstance(), "ElStep");
  24. watch(steps, () => {
  25. steps.value.forEach((instance, index) => {
  26. instance.setIndex(index);
  27. });
  28. });
  29. provide(STEPS_INJECTION_KEY, { props, steps, addStep, removeStep });
  30. watch(() => props.active, (newVal, oldVal) => {
  31. emit(CHANGE_EVENT, newVal, oldVal);
  32. });
  33. return (_ctx, _cache) => {
  34. return openBlock(), createElementBlock("div", {
  35. class: normalizeClass([unref(ns).b(), unref(ns).m(_ctx.simple ? "simple" : _ctx.direction)])
  36. }, [
  37. renderSlot(_ctx.$slots, "default"),
  38. createVNode(unref(StepsSorter))
  39. ], 2);
  40. };
  41. }
  42. });
  43. var Steps = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "steps.vue"]]);
  44. export { Steps as default };
  45. //# sourceMappingURL=steps2.mjs.map