{"version":3,"file":"step.vue2.mjs","sources":["../../../../../packages/components/steps/src/step.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n  name: 'ElStep'\n});\n</script>\n<template>\n  <div\n    :style=\"style\"\n    :class=\"[\n      ns.b(),\n      ns.is(stepsProps.direction),\n      ns.is('flex', state.isLast && !stepsProps.space && !isCenter),\n      ns.is('center', isCenter && !isVertical)\n    ]\"\n    @click=\"emit('click',state.status)\"\n  >\n    <!-- icon & line -->\n    <div :class=\"[ns.e('head'), ns.is(state.status)]\">\n      <div :class=\"ns.e('line')\">\n        <i :class=\"ns.e('line-inner')\"></i>\n      </div>\n\n      <div :class=\"[ns.e('icon'), ns.is(icon ? 'icon' : 'text')]\">\n        <slot\n          v-if=\"state.status !== 'success' && state.status !== 'error'\"\n          name=\"icon\"\n        >\n          <el-icon v-if=\"icon\" :class=\"ns.e('icon-inner')\">\n            <component :is=\"icon\" />\n          </el-icon>\n          <div v-else :class=\"ns.e('icon-inner')\">\n            {{ state.index + 1 }}\n          </div>\n        </slot>\n        <el-icon v-else :class=\"[ns.e('icon-inner'), ns.is('status')]\">\n          <check v-if=\"state.status === 'success'\" />\n          <close v-else />\n        </el-icon>\n      </div>\n    </div>\n    <!-- title & description -->\n    <div :class=\"ns.e('main')\">\n      <div :class=\"[ns.e('title'), ns.is(state.status)]\">\n        <slot name=\"title\">{{ title }}</slot>\n      </div>\n      <div :class=\"[ns.e('description'), ns.is(state.status)]\">\n        <slot name=\"description\">{{ description }}</slot>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport {\n  computed,\n  getCurrentInstance,\n  inject,\n  onBeforeUnmount,\n  shallowReactive\n} from 'vue'\nimport { ElIcon } from '@element-ultra/components/icon'\nimport { Close, Check } from 'icon-ultra'\nimport { useNamespace } from '@element-ultra/hooks'\nimport { stepProps, type StepStatus } from './steps'\nimport { stepsInjectionKey } from './token'\n\n\n\ndefineProps(stepProps)\n\nconst emit = defineEmits({\n  click: (status: StepStatus) => true\n})\n\nconst ns = useNamespace('step')\nconst { stepsProps, stepsCount, addStep, removeStep } = inject(stepsInjectionKey)!\nconst currentInstance = getCurrentInstance()!\n\nconst state = shallowReactive({\n  // 当前状态\n  status: '' as StepStatus,\n  // 实例id\n  uid: currentInstance.uid,\n  // 是否是最后一个\n  isLast: false,\n  // 序号\n  index: -1\n})\n\naddStep(state)\n\nonBeforeUnmount(() => {\n  removeStep(state)\n})\n\nconst isCenter = computed(() => {\n  return stepsProps.alignCenter\n})\nconst isVertical = computed(() => {\n  return stepsProps.direction === 'vertical'\n})\n\nconst style = computed(() => {\n  const { space } = stepsProps\n\n  const style: Record<string, any> = {\n    flexBasis:\n      typeof space === 'number'\n        ? `${space}px`\n        : space\n        ? space\n        : `${100 / (stepsCount.value - (isCenter.value ? 0 : 1))}%`\n  }\n  if (isVertical.value) return style\n  if (state.isLast) {\n    style.maxWidth = `${100 / stepsCount.value}%`\n  }\n  return style\n})\n</script>\n"],"names":["__MACROS_defineComponent","style"],"mappings":";;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,QAAA;AACR,CAAC,CAAA,CAAA;;;;;;;;AAuED,IAAM,MAAA,EAAA,GAAK,aAAa,MAAM,CAAA,CAAA;AAC9B,IAAA,MAAM,EAAE,UAAY,EAAA,UAAA,EAAY,SAAS,UAAW,EAAA,GAAI,OAAO,iBAAiB,CAAA,CAAA;AAChF,IAAA,MAAM,kBAAkB,kBAAmB,EAAA,CAAA;AAE3C,IAAA,MAAM,QAAQ,eAAgB,CAAA;AAAA;AAAA,MAE5B,MAAQ,EAAA,EAAA;AAAA;AAAA,MAER,KAAK,eAAgB,CAAA,GAAA;AAAA;AAAA,MAErB,MAAQ,EAAA,KAAA;AAAA;AAAA,MAER,KAAO,EAAA,CAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAEb,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACjB,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,SAAS,MAAM;AAC9B,MAAA,OAAO,UAAW,CAAA,WAAA,CAAA;AAAA,KACnB,CAAA,CAAA;AACD,IAAM,MAAA,UAAA,GAAa,SAAS,MAAM;AAChC,MAAA,OAAO,WAAW,SAAc,KAAA,UAAA,CAAA;AAAA,KACjC,CAAA,CAAA;AAED,IAAM,MAAA,KAAA,GAAQ,SAAS,MAAM;AAC3B,MAAM,MAAA,EAAE,OAAU,GAAA,UAAA,CAAA;AAElB,MAAA,MAAMC,MAA6B,GAAA;AAAA,QACjC,SACE,EAAA,OAAO,KAAU,KAAA,QAAA,GACb,GAAG,KACH,CAAA,EAAA,CAAA,GAAA,KAAA,GACA,KACA,GAAA,CAAA,EAAG,GAAO,IAAA,UAAA,CAAW,KAAS,IAAA,QAAA,CAAS,QAAQ,CAAI,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OAC3D,CAAA;AACA,MAAA,IAAI,UAAW,CAAA,KAAA;AAAO,QAAOA,OAAAA,MAAAA,CAAAA;AAC7B,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAAA,MAAM,CAAA,QAAA,GAAW,CAAG,EAAA,GAAA,GAAM,UAAW,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACvC;AACA,MAAOA,OAAAA,MAAAA,CAAAA;AAAA,KACR,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}