{"version":3,"file":"Steps.cjs","sources":["../../../../../../packages/vue-components/vc-steps/src/Steps.tsx"],"sourcesContent":["import type { VueNode } from '@antdv/types';\nimport type { Status, StepIconRender } from './interface';\nimport type { VCStepProps } from './Step';\nimport {\n  classNames,\n  cloneElement,\n  filterEmpty,\n  functionType,\n  PropTypes,\n  stringType,\n} from '@antdv/utils';\nimport { defineComponent } from 'vue';\nimport Step from './Step';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'Steps',\n  props: {\n    type: PropTypes.string.def('default'),\n    prefixCls: PropTypes.string.def('vc-steps'),\n    iconPrefix: PropTypes.string.def('vc'),\n    direction: PropTypes.string.def('horizontal'),\n    labelPlacement: PropTypes.string.def('horizontal'),\n    status: stringType<Status>('process'),\n    size: PropTypes.string.def(''),\n    progressDot: PropTypes.oneOfType([PropTypes.looseBool, PropTypes.func]).def(undefined),\n    initial: PropTypes.number.def(0),\n    current: PropTypes.number.def(0),\n    items: PropTypes.array.def(() => []),\n    icons: PropTypes.shape({\n      finish: PropTypes.any,\n      error: PropTypes.any,\n    }).loose,\n    stepIcon: functionType<StepIconRender>(),\n    isInline: PropTypes.looseBool,\n    itemRender: functionType<(item: Record<string, any>, stepItem: VueNode) => VueNode>(),\n  },\n  emits: ['change'],\n  setup(props, { slots, emit }) {\n    const onStepClick = (next: number) => {\n      const { current } = props;\n      if (current !== next)\n        emit('change', next);\n    };\n    const renderStep = (item: VCStepProps, index: number, legacyRender?: any) => {\n      const {\n        prefixCls,\n        iconPrefix,\n        status,\n        current,\n        initial,\n        icons,\n        stepIcon = slots.stepIcon,\n        isInline,\n        itemRender,\n        progressDot = slots.progressDot,\n      } = props;\n      const mergedProgressDot = isInline || progressDot;\n      const mergedItem = { ...item, class: '' };\n      const stepNumber = initial + index;\n      const commonProps = {\n        active: stepNumber === current,\n        stepNumber: stepNumber + 1,\n        stepIndex: stepNumber,\n        key: stepNumber,\n        prefixCls,\n        iconPrefix,\n        progressDot: mergedProgressDot,\n        stepIcon,\n        icons,\n        onStepClick,\n      };\n      // fix tail color\n      if (status === 'error' && index === current - 1)\n        mergedItem.class = `${prefixCls}-next-error`;\n\n      if (!mergedItem.status) {\n        if (stepNumber === current)\n          mergedItem.status = status;\n        else if (stepNumber < current)\n          mergedItem.status = 'finish';\n        else\n          mergedItem.status = 'wait';\n      }\n\n      if (isInline) {\n        mergedItem.icon = undefined;\n        mergedItem.subTitle = undefined;\n      }\n      if (legacyRender)\n        return legacyRender({ ...mergedItem, ...commonProps });\n\n      if (itemRender)\n        mergedItem.itemRender = stepItem => itemRender(mergedItem, stepItem);\n\n      return <Step {...mergedItem} {...commonProps} __legacy={false} />;\n    };\n    const renderStepWithNode = (node: any, index: number) => {\n      return renderStep({ ...node.props }, index, (stepProps) => {\n        const stepNode = cloneElement(node, stepProps);\n        return stepNode;\n      });\n    };\n    return () => {\n      const {\n        prefixCls,\n        direction,\n        type,\n        labelPlacement,\n        iconPrefix,\n        status,\n        size,\n        current,\n        progressDot = slots.progressDot,\n        initial,\n        icons,\n        items,\n        isInline,\n        itemRender,\n        ...restProps\n      } = props;\n      const isNav = type === 'navigation';\n      const mergedProgressDot = isInline || progressDot;\n      const mergedDirection = isInline ? 'horizontal' : direction;\n      const mergedSize = isInline ? undefined : size;\n\n      const adjustedLabelPlacement = mergedProgressDot ? 'vertical' : labelPlacement;\n      const classString = classNames(prefixCls, `${prefixCls}-${direction}`, {\n        [`${prefixCls}-${mergedSize}`]: mergedSize,\n        [`${prefixCls}-label-${adjustedLabelPlacement}`]: mergedDirection === 'horizontal',\n        [`${prefixCls}-dot`]: !!mergedProgressDot,\n        [`${prefixCls}-navigation`]: isNav,\n        [`${prefixCls}-inline`]: isInline,\n      });\n\n      return (\n        <div class={classString} {...restProps}>\n          {items.filter(item => item).map((item, index) => renderStep(item, index))}\n          {filterEmpty(slots.default?.()).map(renderStepWithNode)}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","props","type","PropTypes","string","def","prefixCls","iconPrefix","direction","labelPlacement","status","stringType","size","progressDot","oneOfType","looseBool","func","undefined","initial","number","current","items","array","icons","shape","finish","any","error","loose","stepIcon","functionType","isInline","itemRender","emits","setup","slots","emit","onStepClick","next","renderStep","item","index","legacyRender","mergedProgressDot","mergedItem","class","stepNumber","commonProps","active","stepIndex","key","icon","subTitle","stepItem","_createVNode","Step","renderStepWithNode","node","stepProps","stepNode","cloneElement","restProps","isNav","mergedDirection","mergedSize","adjustedLabelPlacement","classString","classNames","filter","map","filterEmpty","default"],"mappings":"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"}