{"version":3,"file":"steps.mjs","sources":["../../../../../../packages/components/steps/src/steps.tsx"],"sourcesContent":["import { computed, defineComponent, provide, reactive, ref, toRefs } from 'vue'\nimport { getComponentNamespace, getNamespace } from '../../../utils/global-config'\nimport { stepsProps } from './props'\nimport { stepsInjectionKey } from './context'\nimport type { StepData } from './types'\nconst childrenName = getComponentNamespace('Step')\n\nexport default defineComponent({\n  name: getComponentNamespace('Steps'),\n  props: stepsProps,\n  emits: ['update:current', 'change'],\n  setup(props, { emit, slots }) {\n    // 定义组件命名\n    const ns = getNamespace('steps')\n    // 组件class\n    const cls = computed(() => [ns, props.direction && `${ns}--${props.direction}`])\n    // 拿到非受控默认步数\n    const _current = ref(props.defaultCurrent)\n    // value\n    const { current: currentRef } = toRefs(props)\n    // 内部状态\n    const innerCurrent = computed(() => currentRef.value ?? _current.value)\n    /**\n     * Step Click\n     * @description 通过steps-item触发进行跳转\n     * @param step\n     * @param e\n     */\n    const handleClick = (step: number, e: Event) => {\n      // 允许通过点击切换\n      if (props.changeable) {\n        _current.value = step\n        emit('update:current', step)\n        emit('change', step, e)\n      }\n    }\n    /**\n     * @description step save\n     */\n    const stepMap = reactive(new Map<number, StepData>())\n    /**\n     * 添加步骤及步骤数据\n     * @param step\n     * @param data\n     */\n    const addItem = (step: number, data: StepData) => {\n      stepMap.set(step, data)\n    }\n    /**\n     * 移除步骤及步骤数据\n     * @param step\n     */\n    const removeItem = (step: number) => {\n      stepMap.delete(step)\n    }\n    const components = (slots.default?.() || []).filter((item) => {\n      return (item?.type as any)?.name === childrenName\n    })\n    const { lineType: lineTypeRef } = toRefs(props)\n    /**\n     * @description\n     */\n    provide(\n      stepsInjectionKey,\n      reactive({\n        stepsType: props.type,\n        innerCurrent,\n        addItem,\n        removeItem,\n        onClick: handleClick,\n        parentCls: ns,\n        count: components.length,\n        lineType: lineTypeRef\n      })\n    )\n    return () => {\n      return <div class={cls.value}>{components}</div>\n    }\n  }\n})\n"],"names":["childrenName","getComponentNamespace","name","props","stepsProps","emits","setup","emit","slots","ns","getNamespace","cls","computed","direction","_current","ref","defaultCurrent","current","currentRef","toRefs","innerCurrent","_a","value","handleClick","step","e","changeable","stepMap","reactive","Map","addItem","data","set","removeItem","delete","components","default","filter","item","type","lineType","lineTypeRef","provide","stepsInjectionKey","stepsType","onClick","parentCls","count","length","_createVNode"],"mappings":"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"}