{"version":3,"file":"empty.mjs","sources":["../../../components/empty/empty.tsx"],"sourcesContent":["import { computed, ComputedRef, defineComponent, h, toRefs } from 'vue';\nimport { isString, isPlainObject } from 'lodash-es';\n\nimport { useConfig, useTNodeJSX, usePrefixClass, useCommonClassName } from '@tdesign/shared-hooks';\n\nimport props from './props';\nimport type { TdEmptyProps } from './type';\nimport Image, { ImageProps } from '../image';\nimport MaintenanceSvg from './components/MaintenanceSvg';\nimport NetworkErrorSvg from './components/NetworkErrorSvg';\nimport EmptySvg from './components/EmptySvg';\nimport FailSvg from './components/FailSvg';\nimport SuccessSvg from './components/SuccessSvg';\n\nexport default defineComponent({\n  name: 'TEmpty',\n  components: { TImage: Image },\n  props,\n  setup(props: TdEmptyProps, { slots }) {\n    const { size, image: propsImage, description: propsDescription, title: propsTitle, type } = toRefs(props);\n    const { globalConfig } = useConfig('empty');\n    const classPrefix = usePrefixClass('empty');\n    const showAction = computed(() => props.action || slots.action);\n    const { SIZE } = useCommonClassName();\n    const renderTNodeJSX = useTNodeJSX();\n\n    const defaultMaps: ComputedRef<{\n      [key in TdEmptyProps['type']]?: Pick<TdEmptyProps, 'image' | 'title'>;\n    }> = computed(() => {\n      return {\n        maintenance: {\n          image: globalConfig.value.image.maintenance || MaintenanceSvg,\n          title: globalConfig.value.titleText.maintenance,\n        },\n        success: {\n          image: globalConfig.value.image.success || SuccessSvg,\n          title: globalConfig.value.titleText.success,\n        },\n        fail: {\n          image: globalConfig.value.image.fail || FailSvg,\n          title: globalConfig.value.titleText.fail,\n        },\n        'network-error': {\n          image: globalConfig.value.image.networkError || NetworkErrorSvg,\n          title: globalConfig.value.titleText.networkError,\n        },\n        empty: {\n          image: globalConfig.value.image.empty || EmptySvg,\n          title: globalConfig.value.titleText.empty,\n        },\n      };\n    });\n\n    const emptyClasses = computed(() => [classPrefix.value, SIZE.value[size.value]]);\n    const titleClasses = [`${classPrefix.value}__title`];\n    const imageClasses = [`${classPrefix.value}__image`];\n    const descriptionClasses = [`${classPrefix.value}__description`];\n    const actionClass = [`${classPrefix.value}__action`];\n\n    const typeImageProps = computed(() => defaultMaps.value[type.value] ?? null);\n    const showImage = computed(() => propsImage.value || slots?.image?.() || typeImageProps.value?.image);\n    const showTitle = computed(() => propsTitle.value || slots?.title?.() || typeImageProps.value?.title);\n    const showDescription = computed(() => propsDescription.value || slots?.description?.());\n\n    const renderTitle = () => {\n      if (!showTitle.value) {\n        return null;\n      }\n      return <div class={titleClasses}>{showTitle.value}</div>;\n    };\n    const renderDescription = () => {\n      if (!showDescription.value) {\n        return null;\n      }\n      return <div class={descriptionClasses}>{showDescription.value}</div>;\n    };\n    const getImageIns = () => {\n      const data = showImage.value;\n      let result = null;\n      if (isString(data)) {\n        result = <Image src={data} />;\n      } else if (data && Reflect.has(data, 'setup')) {\n        result = h(data as unknown);\n      } else if (isPlainObject(data)) {\n        result = <Image {...(data as ImageProps)} />;\n      }\n\n      return result;\n    };\n\n    return () => {\n      return (\n        <div class={emptyClasses.value}>\n          {showImage.value ? (\n            <div class={imageClasses} style={props.imageStyle}>\n              {slots?.image ? renderTNodeJSX('image') : getImageIns()}\n            </div>\n          ) : null}\n          {renderTitle()}\n          {renderDescription()}\n          {showAction.value ? <div class={actionClass}>{renderTNodeJSX('action')}</div> : null}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","components","TImage","Image","props","setup","slots","_ref","_toRefs","toRefs","size","propsImage","image","propsDescription","description","propsTitle","title","type","_useConfig","useConfig","globalConfig","classPrefix","usePrefixClass","showAction","computed","action","_useCommonClassName","useCommonClassName","SIZE","renderTNodeJSX","useTNodeJSX","defaultMaps","maintenance","value","MaintenanceSvg","titleText","success","SuccessSvg","fail","FailSvg","networkError","NetworkErrorSvg","empty","EmptySvg","emptyClasses","titleClasses","concat","imageClasses","descriptionClasses","actionClass","typeImageProps","_defaultMaps$value$ty","showImage","_slots$image","_typeImageProps$value","call","showTitle","_slots$title","_typeImageProps$value2","showDescription","_slots$description","renderTitle","_createVNode","renderDescription","getImageIns","data","result","isString","Reflect","has","h","isPlainObject","imageStyle"],"mappings":"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"}