{"version":3,"file":"Steps.cjs","sources":["../../../../../../packages/components/steps/src/Steps.tsx"],"sourcesContent":["import type { CustomSlotsType, VueNode } from '@antdv/types';\nimport type { StepProps } from './props';\nimport { CheckOutlined, CloseOutlined } from '@ant-design/icons-vue';\nimport { useBreakpoint } from '@antdv/hooks';\nimport { useToken } from '@antdv/theme';\nimport { classNames, initDefaultProps, omit } from '@antdv/utils';\nimport { VcSteps } from '@antdv/vue-components';\nimport { computed, defineComponent } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport Progress from '../../progress';\nimport Tooltip from '../../tooltip';\nimport useStyle from '../style';\nimport { stepsProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ASteps',\n  inheritAttrs: false,\n  props: initDefaultProps(stepsProps(), {\n    current: 0,\n    responsive: true,\n    labelPlacement: 'horizontal',\n  }),\n  slots: Object as CustomSlotsType<{\n    progressDot: any\n    default: any\n  }>,\n\n  // emits: ['update:current', 'change'],\n  setup(props, { attrs, slots, emit }) {\n    const { prefixCls, direction: rtlDirection, configProvider } = useConfigInject('steps', props);\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n    const [, token] = useToken();\n\n    const screens = useBreakpoint();\n    const direction = computed(() =>\n      props.responsive && screens.value.xs ? 'vertical' : props.direction,\n    );\n    const iconPrefix = computed(() => configProvider.getPrefixCls('', props.iconPrefix));\n    const handleChange = (current: number) => {\n      emit('update:current', current);\n      emit('change', current);\n    };\n    const isInline = computed(() => props.type === 'inline');\n    const mergedPercent = computed(() => (isInline.value ? undefined : props.percent));\n    const stepIconRender = ({\n      node,\n      status,\n    }: {\n      node: any\n      index: number\n      status: string\n      title: any\n      description: any\n    }) => {\n      if (status === 'process' && props.percent !== undefined) {\n        // currently it's hard-coded, since we can't easily read the actually width of icon\n\n        const progressWidth\n          = props.size === 'small' ? token.value.controlHeight : token.value.controlHeightLG;\n\n        const iconWithProgress = (\n          <div class={`${prefixCls.value}-progress-icon`}>\n            <Progress\n              type=\"circle\"\n              percent={mergedPercent.value}\n              size={progressWidth}\n              strokeWidth={4}\n              format={() => null}\n            />\n            {node}\n          </div>\n        );\n        return iconWithProgress;\n      }\n      return node;\n    };\n    const icons = computed(() => ({\n      finish: <CheckOutlined class={`${prefixCls.value}-finish-icon`} />,\n      error: <CloseOutlined class={`${prefixCls.value}-error-icon`} />,\n    }));\n    return () => {\n      const stepsClassName = classNames(\n        {\n          [`${prefixCls.value}-rtl`]: rtlDirection.value === 'rtl',\n          [`${prefixCls.value}-with-progress`]: mergedPercent.value !== undefined,\n        },\n        attrs.class,\n        hashId.value,\n      );\n      const itemRender = (item: StepProps, stepItem: VueNode) => item.description ? <Tooltip title={item.description}>{stepItem}</Tooltip> : stepItem;\n\n      return wrapSSR(\n        <VcSteps\n          icons={icons.value}\n          {...attrs}\n          {...omit(props, ['percent', 'responsive'])}\n          items={props.items}\n          direction={direction.value}\n          prefixCls={prefixCls.value}\n          iconPrefix={iconPrefix.value}\n          class={stepsClassName}\n          onChange={handleChange}\n          isInline={isInline.value}\n          itemRender={isInline.value ? itemRender : undefined}\n          v-slots={{ stepIcon: stepIconRender, ...slots }}\n        />,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","stepsProps","current","responsive","labelPlacement","slots","Object","setup","attrs","emit","prefixCls","direction","rtlDirection","configProvider","useConfigInject","wrapSSR","hashId","useStyle","token","useToken","screens","useBreakpoint","computed","value","xs","iconPrefix","getPrefixCls","handleChange","isInline","type","mergedPercent","undefined","percent","stepIconRender","node","status","progressWidth","size","controlHeight","controlHeightLG","iconWithProgress","_createVNode","Progress","format","icons","finish","CheckOutlined","error","CloseOutlined","stepsClassName","classNames","class","itemRender","item","stepItem","description","Tooltip","default","VcSteps","omit","items","stepIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcA,6BAA+BA,mBAAA,CAAA;AAAA,EAC7BC,YAAc,EAAA;AAAA,IAAEC,IAAM,EAAA,CAAA;AAAA,GAAE;AAAA,EACxBC,IAAM,EAAA,QAAA;AAAA,EACNC,YAAc,EAAA,KAAA;AAAA,EACdC,KAAAA,EAAOC,iCAAiBC,CAAAA,gBAAAA,EAAc,EAAA;AAAA,IACpCC,OAAS,EAAA,CAAA;AAAA,IACTC,UAAY,EAAA,IAAA;AAAA,IACZC,cAAgB,EAAA,YAAA;AAAA,GACjB,CAAA;AAAA,EACDC,KAAOC,EAAAA,MAAAA;AAAAA;AAAAA,EAMPC,MAAMR,KAAO,EAAA;AAAA,IAAES,KAAAA;AAAAA,IAAOH,KAAAA;AAAAA,IAAOI,IAAAA;AAAAA,GAAQ,EAAA;AACnC,IAAM,MAAA;AAAA,MAAEC,SAAAA;AAAAA,MAAWC,SAAWC,EAAAA,YAAAA;AAAAA,MAAcC,cAAAA;AAAAA,KAAe,GAAIC,uBAAgB,CAAA,OAAA,EAASf,KAAK,CAAA,CAAA;AAE7F,IAAA,MAAM,CAACgB,OAAAA,EAASC,MAAM,CAAA,GAAIC,cAASP,SAAS,CAAA,CAAA;AAC5C,IAAA,MAAM,GAAGQ,KAAK,CAAA,GAAIC,iBAAS,EAAA,CAAA;AAE3B,IAAA,MAAMC,UAAUC,qBAAc,EAAA,CAAA;AAC9B,IAAMV,MAAAA,SAAAA,GAAYW,YAAS,CAAA,MACzBvB,KAAMI,CAAAA,UAAAA,IAAciB,QAAQG,KAAMC,CAAAA,EAAAA,GAAK,UAAazB,GAAAA,KAAAA,CAAMY,SAC5D,CAAA,CAAA;AACA,IAAMc,MAAAA,UAAAA,GAAaH,aAAS,MAAMT,cAAAA,CAAea,aAAa,EAAI3B,EAAAA,KAAAA,CAAM0B,UAAU,CAAC,CAAA,CAAA;AACnF,IAAA,MAAME,eAAgBzB,CAAoB,OAAA,KAAA;AACxCO,MAAAA,IAAAA,CAAK,kBAAkBP,OAAO,CAAA,CAAA;AAC9BO,MAAAA,IAAAA,CAAK,UAAUP,OAAO,CAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAA,MAAM0B,QAAWN,GAAAA,YAAAA,CAAS,MAAMvB,KAAAA,CAAM8B,SAAS,QAAQ,CAAA,CAAA;AACvD,IAAA,MAAMC,gBAAgBR,YAAS,CAAA,MAAOM,SAASL,KAAQQ,GAAAA,KAAAA,CAAAA,GAAYhC,MAAMiC,OAAQ,CAAA,CAAA;AACjF,IAAA,MAAMC,iBAAiBA,CAAC;AAAA,MACtBC,IAAAA;AAAAA,MACAC,MAAAA;AAAAA,KAOI,KAAA;AACJ,MAAA,IAAIA,MAAW,KAAA,SAAA,IAAapC,KAAMiC,CAAAA,OAAAA,KAAYD,KAAW,CAAA,EAAA;AAGvD,QAAMK,MAAAA,aAAAA,GACFrC,MAAMsC,IAAS,KAAA,OAAA,GAAUnB,MAAMK,KAAMe,CAAAA,aAAAA,GAAgBpB,MAAMK,KAAMgB,CAAAA,eAAAA,CAAAA;AAErE,QAAMC,MAAAA,gBAAAA,GAAgBC,gBAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EACP,CAAE/B,EAAAA,SAAAA,CAAUa,KAAM,CAAA,cAAA,CAAA;AAAA,SAAe,EAAAkB,CAAAA,eAAAA,CAAAC,gBAAA,EAAA;AAAA,UAAA,MAAA,EAAA,QAAA;AAAA,UAAA,WAGjCZ,aAAcP,CAAAA,KAAAA;AAAAA,UAAK,MACtBa,EAAAA,aAAAA;AAAAA,UAAa,aACN,EAAA,CAAA;AAAA,UAAC,UACNO,MAAM,IAAA;AAAA,SAAI,EAAA,IAAA,CAEnBT,EAAAA,IAAI,CAER,CAAA,CAAA;AACD,QAAOM,OAAAA,gBAAAA,CAAAA;AAAAA,OACT;AACA,MAAON,OAAAA,IAAAA,CAAAA;AAAAA,KACT,CAAA;AACA,IAAMU,MAAAA,KAAAA,GAAQtB,aAAS,OAAO;AAAA,MAC5BuB,MAAAA,EAAMJ,gBAAAK,sBAAA,EAAA;AAAA,QAAA,OAAA,EAAyB,CAAEpC,EAAAA,SAAAA,CAAUa,KAAM,CAAA,YAAA,CAAA;AAAA,SAAiB,IAAA,CAAA;AAAA,MAClEwB,KAAAA,EAAKN,gBAAAO,sBAAA,EAAA;AAAA,QAAA,OAAA,EAAyB,CAAEtC,EAAAA,SAAAA,CAAUa,KAAM,CAAA,WAAA,CAAA;AAAA,SAAY,IAAA,CAAA;AAAA,KAC5D,CAAA,CAAA,CAAA;AACF,IAAA,OAAO,MAAM;AACX,MAAA,MAAM0B,iBAAiBC,iBACrB,CAAA;AAAA,QACE,CAAE,CAAExC,EAAAA,SAAAA,CAAUa,KAAM,CAAK,IAAA,CAAA,GAAGX,aAAaW,KAAU,KAAA,KAAA;AAAA,QACnD,CAAE,CAAEb,EAAAA,SAAAA,CAAUa,KAAM,CAAe,cAAA,CAAA,GAAGO,cAAcP,KAAUQ,KAAAA,KAAAA,CAAAA;AAAAA,OAEhEvB,EAAAA,KAAAA,CAAM2C,KACNnC,EAAAA,MAAAA,CAAOO,KACT,CAAA,CAAA;AACA,MAAA,MAAM6B,aAAaA,CAACC,IAAAA,EAAiBC,aAAsBD,IAAKE,CAAAA,WAAAA,GAAWd,gBAAAe,eAAA,EAAA;AAAA,QAAA,SAAmBH,IAAKE,CAAAA,WAAAA;AAAAA,OAAW,EAAA;AAAA,QAAAE,OAAAA,EAAAA,MAAA,CAAGH,QAAQ,CAAA;AAAA,OAAA,CAAcA,GAAAA,QAAAA,CAAAA;AAEvI,MAAOvC,OAAAA,OAAAA,CAAO0B,gBAAAiB,aAAA,EAAA;AAAA,QAAA,SAEHd,KAAMrB,CAAAA,KAAAA;AAAAA,QAAK,GACdf,KAAAA;AAAAA,QAAK,GACLmD,SAAK5D,CAAAA,KAAAA,EAAO,CAAC,SAAA,EAAW,YAAY,CAAC,CAAA;AAAA,QAAC,SACnCA,KAAM6D,CAAAA,KAAAA;AAAAA,QAAK,aACPjD,SAAUY,CAAAA,KAAAA;AAAAA,QAAK,aACfb,SAAUa,CAAAA,KAAAA;AAAAA,QAAK,cACdE,UAAWF,CAAAA,KAAAA;AAAAA,QAAK,OACrB0B,EAAAA,cAAAA;AAAAA,QAAc,UACXtB,EAAAA,YAAAA;AAAAA,QAAY,YACZC,QAASL,CAAAA,KAAAA;AAAAA,QAAK,YAAA,EACZK,QAASL,CAAAA,KAAAA,GAAQ6B,UAAarB,GAAAA,KAAAA,CAAAA;AAAAA,OACjC,EAAA;AAAA,QAAE8B,QAAU5B,EAAAA,cAAAA;AAAAA,QAAgB,GAAG5B,KAAAA;AAAAA,OAAO,CAEnD,CAAA,CAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}