{"version":3,"file":"steps.vue2.mjs","sources":["../../../../../../packages/components/steps/src/steps.vue"],"sourcesContent":["<template>\r\n  <div\r\n    :class=\"bem.b('container')\"\r\n    :style=\"{ width: addUnit(width), height: addUnit(height) }\"\r\n    v-bind=\"containerAttrs\"\r\n  >\r\n    <!-- 步骤条 -->\r\n    <div\r\n      :class=\"[bem.b('nav'), bem.is(miniSize ? 'mini' : '')]\"\r\n      :style=\"{ padding: stepPadding }\"\r\n    >\r\n      <steps\r\n        v-bind=\"componentAttrs\"\r\n        v-model:current=\"currentVal\"\r\n        :progress-dot=\"type === 'breadcrumb' ? false : progressDot\"\r\n        size=\"default\"\r\n        :items=\"type === 'inline' ? items : undefined\"\r\n        :class=\"[\r\n          bem.b(),\r\n          bem.is(type === 'tabs' ? 'tabs' : ''),\r\n          bem.is(type === 'breadcrumb' ? 'breadcrumb' : ''),\r\n          bem.is(\r\n            left && (type === 'navigation' || type === 'breadcrumb')\r\n              ? 'left'\r\n              : '',\r\n          ),\r\n        ]\"\r\n        :type=\"type === 'tabs' || type === 'breadcrumb' ? 'navigation' : type\"\r\n        :direction=\"type === 'default' ? direction : 'horizontal'\"\r\n      >\r\n        <template v-if=\"type !== 'inline'\">\r\n          <template v-for=\"(item, index) in items\" :key=\"index\">\r\n            <a-step v-bind=\"filterItem(item)\">\r\n              <template v-if=\"!progressDot || type === 'breadcrumb'\" #icon>\r\n                <slot name=\"icon\" v-bind=\"{ item, index }\">\r\n                  <ll-icon\r\n                    v-if=\"item.icon\"\r\n                    :icon-name=\"item.icon\"\r\n                    color=\"inherit\"\r\n                  />\r\n                  <span v-else>{{ index + 1 }}</span>\r\n                </slot>\r\n              </template>\r\n\r\n              <!-- 子标题 type='breadcrumb' 不显示子标题  -->\r\n              <template\r\n                v-if=\"type !== 'breadcrumb' || $slots.subTitle\"\r\n                #subTitle\r\n              >\r\n                <slot name=\"subTitle\" v-bind=\"{ item, index }\">\r\n                  <span v-if=\"item.subTitle\">{{ item.subTitle }}</span>\r\n                </slot>\r\n              </template>\r\n\r\n              <!-- 描述 type='breadcrumb' 不显示描述 -->\r\n              <template\r\n                v-if=\"type !== 'breadcrumb' || $slots.description\"\r\n                #description\r\n              >\r\n                <slot name=\"description\" v-bind=\"{ item, index }\">\r\n                  <span v-if=\"item.description\">{{ item.description }}</span>\r\n                </slot>\r\n              </template>\r\n\r\n              <!-- 其余插槽 -->\r\n              <template\r\n                v-for=\"slot in Object.keys($slots).filter(\r\n                  (i) =>\r\n                    i !== 'icon' && i !== 'description' && i !== 'subTitle',\r\n                )\"\r\n                :key=\"slot\"\r\n                #[slot]\r\n              >\r\n                <slot :name=\"slot\" v-bind=\"{ item, index }\"></slot>\r\n              </template>\r\n            </a-step>\r\n          </template>\r\n        </template>\r\n      </steps>\r\n    </div>\r\n    <!-- 内容 -->\r\n    <div\r\n      v-if=\"stepItems.length > 0 && direction !== 'vertical' && content\"\r\n      :class=\"bem.e('content')\"\r\n    >\r\n      <component :is=\"currentStepComponent\" v-if=\"currentStepComponent\" />\r\n    </div>\r\n\r\n    <!-- 页脚 -->\r\n    <div\r\n      v-if=\"footer && direction !== 'vertical'\"\r\n      :class=\"[bem.e('footer'), bem.is(getFooterPositional)]\"\r\n    >\r\n      <slot name=\"footer\"></slot>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { addUnit, createNamespace } from '@ll-plus/utils'\r\nimport { Steps } from 'ant-design-vue'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, ref, useAttrs, useSlots } from 'vue'\r\nimport { stepsProps } from './steps'\r\n\r\ndefineOptions({ name: 'LlSteps', inheritAttrs: false })\r\nconst bem = createNamespace('steps')\r\nconst attrs = useAttrs()\r\n\r\n// 容器样式\r\nconst containerAttrs = computed(() => ({\r\n  class: attrs.class as any,\r\n  style: attrs.style as any,\r\n}))\r\n\r\n// 组件功能相关的属性\r\nconst componentAttrs = computed(() => omit(attrs, ['class', 'style']))\r\n\r\nconst props = defineProps(stepsProps)\r\nconst emits = defineEmits(['update:current'])\r\n\r\nconst internalCurrent = ref(0)\r\n\r\nconst currentVal = computed({\r\n  get: () => props.current || internalCurrent.value,\r\n  set: (v: number) => {\r\n    if (props.clicked) {\r\n      internalCurrent.value = v\r\n      emits('update:current', v)\r\n    }\r\n  },\r\n})\r\n\r\nconst slots = useSlots()\r\n\r\n// 计算当前步骤的组件\r\nconst currentStepComponent = computed(() => {\r\n  const currentStep = stepItems.value.find(\r\n    (step) => step.key === currentVal.value,\r\n  )\r\n  return currentStep?.component || null\r\n})\r\n\r\n// 获取所有子组件（StepItem）\r\nconst stepItems = computed(() => {\r\n  const children = slots.default?.() || []\r\n  const result = [] as any\r\n  let index = 0\r\n\r\n  const processNode = (node) => {\r\n    if (!node) return\r\n\r\n    // 1. 检查是否是 LlStepItem\r\n    if (\r\n      node.type &&\r\n      typeof node.type === 'object' &&\r\n      node.type.name === 'LlStepItem'\r\n    ) {\r\n      result.push({\r\n        index: index,\r\n        key: index,\r\n        component: node,\r\n      })\r\n      index++ // 处理完一个组件后索引加1\r\n    }\r\n    // 2. 检查是否是 Fragment\r\n    else if (node.type?.toString() === 'Symbol(v-fgt)') {\r\n      if (node.children) {\r\n        node.children.forEach(processNode)\r\n      }\r\n    }\r\n  }\r\n\r\n  children.forEach(processNode)\r\n  return result\r\n})\r\n\r\nconst filterItem = (item) => {\r\n  // 获取 slots 的所有键名\r\n  const slotKeys = new Set([\r\n    ...Object.keys(slots),\r\n    'icon',\r\n    'description',\r\n    'subTitle',\r\n  ])\r\n\r\n  // 从 item 中移除与 slots 键名匹配的属性\r\n  const newItem = Object.fromEntries(\r\n    Object.entries(item).filter(([key]) => !slotKeys.has(key)),\r\n  )\r\n\r\n  return newItem\r\n}\r\n\r\n// 页脚位置\r\nconst getFooterPositional = computed(() => {\r\n  switch (props.footerPositional) {\r\n    case 'left':\r\n      return 'left'\r\n    case 'center':\r\n      return 'center'\r\n    case 'right':\r\n      return 'right'\r\n    default:\r\n      return 'right'\r\n  }\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock","_mergeProps","_unref","width","height","_createCommentVNode","_createElementVNode","_normalizeClass","miniSize","stepPadding","_createVNode","type","progressDot","items","left","direction","_Fragment","_renderList","_createBlock","_createSlots","_renderSlot","$slots","_toDisplayString","content","_resolveDynamicComponent","footer"],"mappings":"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"}