tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 7.62 kB
Source Map (JSON)
{"version":3,"file":"step-item.mjs","sources":["../../../components/steps/step-item.tsx"],"sourcesContent":["import { computed, defineComponent, h, inject } from 'vue';\nimport { isFunction } from 'lodash-es';\nimport { CheckIcon as TdCheckIcon, CloseIcon as TdCloseIcon } from 'tdesign-icons-vue-next';\n\nimport props from './step-item-props';\nimport { SlotReturnValue } from '../common';\nimport { useConfig, useContent, useTNodeJSX, useGlobalIcon, usePrefixClass } from '@tdesign/shared-hooks';\n\nexport default defineComponent({\n name: 'TStepItem',\n props: { ...props, index: Number },\n setup(props) {\n const stepsState = inject('StepsState', undefined);\n const stepsProps = inject('StepsProps', undefined);\n\n const { globalConfig } = useConfig('steps');\n const { CheckIcon, CloseIcon } = useGlobalIcon({ CheckIcon: TdCheckIcon, CloseIcon: TdCloseIcon });\n const canClick = computed(() => {\n return props.status !== 'process' && !stepsProps?.readonly;\n });\n\n // when props.value is undefined\n const onStepClick = (e: MouseEvent) => {\n if (!canClick.value) return;\n const val = props.value === undefined ? props.index : props.value;\n stepsState.setCurrent(val, stepsState.current, { e });\n };\n\n // class\n const COMPONENT_NAME = usePrefixClass('steps-item');\n const statusClass = computed(() => ({ [`${COMPONENT_NAME.value}--${props.status}`]: props.status }));\n const baseClass = computed(() => [COMPONENT_NAME.value, statusClass.value]);\n const iconClass = computed(() => [`${COMPONENT_NAME.value}__icon`, statusClass.value]);\n\n // render\n const renderTNodeJSX = useTNodeJSX();\n const renderContent = useContent();\n const renderIcon = () => {\n let defaultIcon;\n if (stepsProps.theme === 'default') {\n let icon: SlotReturnValue = '';\n switch (props.status) {\n case 'finish':\n if (isFunction(globalConfig.value.checkIcon)) {\n icon = globalConfig.value.checkIcon(h);\n } else {\n icon = <CheckIcon />;\n }\n break;\n case 'error':\n if (isFunction(globalConfig.value.errorIcon)) {\n icon = globalConfig.value.errorIcon(h);\n } else {\n icon = <CloseIcon />;\n }\n break;\n default:\n icon = String(props.index + 1);\n break;\n }\n defaultIcon = <span class={`${COMPONENT_NAME.value}__icon--number`}>{icon}</span>;\n }\n return renderTNodeJSX('icon', defaultIcon);\n };\n\n return () => (\n <div class={baseClass.value}>\n <div\n class={`${COMPONENT_NAME.value}__inner ${canClick.value ? `${COMPONENT_NAME.value}--clickable` : ''}`}\n onClick={onStepClick}\n >\n <div class={iconClass.value}>{renderIcon()}</div>\n <div class={`${COMPONENT_NAME.value}__content`}>\n <div class={`${COMPONENT_NAME.value}__title`}>{renderTNodeJSX('title')}</div>\n <div class={`${COMPONENT_NAME.value}__description`}>{renderContent('default', 'content')}</div>\n <div class={`${COMPONENT_NAME.value}__extra`}>{renderTNodeJSX('extra')}</div>\n </div>\n </div>\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","_objectSpread","index","Number","setup","stepsState","inject","stepsProps","_useConfig","useConfig","globalConfig","_useGlobalIcon","useGlobalIcon","CheckIcon","TdCheckIcon","CloseIcon","TdCloseIcon","canClick","computed","status","readonly","onStepClick","e","value","val","setCurrent","current","COMPONENT_NAME","usePrefixClass","statusClass","_defineProperty","concat","baseClass","iconClass","renderTNodeJSX","useTNodeJSX","renderContent","useContent","renderIcon","defaultIcon","theme","icon","isFunction","checkIcon","h","_createVNode","errorIcon","String"],"mappings":"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"}