{"version":3,"file":"normal-file.mjs","sources":["../../../../components/upload/components/normal-file.tsx"],"sourcesContent":["import { defineComponent, toRefs, computed } from 'vue';\nimport {\n  CloseIcon as TdCloseIcon,\n  TimeFilledIcon as TdTimeFilledIcon,\n  CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n  ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n  CloseCircleFilledIcon as TdCloseCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport TLoading from '../../loading';\nimport Link from '../../link';\nimport { useTNodeJSX, useGlobalIcon } from '@tdesign/shared-hooks';\nimport { UploadFile } from '../type';\nimport { abridgeName } from '@tdesign/common-js/upload/utils';\nimport { CommonDisplayFileProps } from '../types';\nimport { commonProps } from '../constants';\nimport { UploadConfig } from '../../config-provider';\n\nexport interface NormalFileProps extends CommonDisplayFileProps {\n  multiple: boolean;\n}\n\nconst NormalFile = defineComponent({\n  name: 'UploadNormalFile',\n  props: {\n    multiple: Boolean,\n    ...commonProps,\n  },\n  setup(props, { slots }) {\n    const { theme, disabled, classPrefix } = toRefs(props);\n\n    const locale = computed(() => props.locale as UploadConfig);\n\n    const { CloseIcon, TimeFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon, CloseCircleFilledIcon } =\n      useGlobalIcon({\n        CloseIcon: TdCloseIcon,\n        TimeFilledIcon: TdTimeFilledIcon,\n        CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n        ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n        CloseCircleFilledIcon: TdCloseCircleFilledIcon,\n      });\n\n    const renderTNodeJSX = useTNodeJSX();\n\n    const uploadPrefix = `${classPrefix.value}-upload`;\n\n    const renderProgress = (percent: number) => (\n      <div class={`${uploadPrefix}__single-progress`}>\n        <TLoading />\n        {props.showUploadProgress && <span class={`${uploadPrefix}__single-percent`}>{percent || 0}%</span>}\n      </div>\n    );\n\n    // 文本型预览\n    const renderFilePreviewAsText = (files: UploadFile[]) => {\n      if (theme.value !== 'file') return null;\n      if (!props.multiple && files[0]?.status === 'fail' && props.autoUpload) {\n        return null;\n      }\n      return files.map((file, index) => {\n        const fileName = props.abridgeName && file.name ? abridgeName(file.name, ...props.abridgeName) : file.name;\n        return (\n          <div\n            class={`${uploadPrefix}__single-display-text ${uploadPrefix}__display-text--margin`}\n            key={file.name + index + file.percent + file.status}\n          >\n            {file.url ? (\n              <Link\n                href={file.url}\n                target=\"_blank\"\n                hover=\"color\"\n                size=\"small\"\n                class={`${uploadPrefix}__single-name`}\n                disabled={false}\n              >\n                {fileName}\n              </Link>\n            ) : (\n              <span class={`${uploadPrefix}__single-name`}>{fileName}</span>\n            )}\n            {file.status === 'fail' && (\n              <div class={`${uploadPrefix}__flow-status ${uploadPrefix}__file-fail`}>\n                <ErrorCircleFilledIcon />\n              </div>\n            )}\n            {file.status === 'waiting' && (\n              <div class={`${uploadPrefix}__flow-status ${uploadPrefix}__file-waiting`}>\n                <TimeFilledIcon />\n              </div>\n            )}\n            {file.status === 'progress' && renderProgress(file.percent)}\n            {!disabled.value && file.status !== 'progress' && (\n              <CloseIcon\n                class={`${uploadPrefix}__icon-delete`}\n                onClick={({ e }: { e: MouseEvent }) => props.onRemove({ e, file, index })}\n              />\n            )}\n          </div>\n        );\n      });\n    };\n\n    // 输入框型预览\n    const renderFilePreviewAsInput = () => {\n      if (theme.value !== 'file-input') return;\n      const file: UploadFile = props.displayFiles[0] || [];\n      const inputTextClass = [\n        `${classPrefix.value}-input__inner`,\n        { [`${uploadPrefix}__placeholder`]: !props.displayFiles[0] },\n      ];\n      const disabledClass = disabled.value ? `${classPrefix.value}-is-disabled` : '';\n      const fileName =\n        props.abridgeName?.length && file?.name ? abridgeName(file.name, ...props.abridgeName) : file?.name;\n      return (\n        <div class={`${uploadPrefix}__single-input-preview ${classPrefix.value}-input ${disabledClass}`}>\n          <div class={inputTextClass}>\n            <span\n              class={[\n                `${uploadPrefix}__single-input-text`,\n                { [props.placeholderClass]: props.placeholder && !file?.name },\n              ]}\n            >\n              {file?.name ? fileName : props.placeholder}\n            </span>\n            {file?.status === 'progress' && renderProgress(file.percent)}\n            {file?.status === 'waiting' && (\n              <TimeFilledIcon class={`${uploadPrefix}__status-icon ${uploadPrefix}__file-waiting`} />\n            )}\n            {file.status === 'success' && <CheckCircleFilledIcon class={`${uploadPrefix}__status-icon`} />}\n            {file?.name && file.status === 'fail' && (\n              <ErrorCircleFilledIcon class={`${uploadPrefix}__status-icon ${uploadPrefix}__file-fail`} />\n            )}\n            {Boolean(!disabled.value && file.name) && (\n              <CloseCircleFilledIcon\n                class={`${uploadPrefix}__single-input-clear`}\n                onClick={({ e }: { e: MouseEvent }) => props.onRemove({ e, file, index: 0 })}\n              />\n            )}\n          </div>\n        </div>\n      );\n    };\n\n    return () => {\n      const classes = [`${uploadPrefix}__single`, `${uploadPrefix}__single-${theme.value}`];\n      let fileListDisplay = renderTNodeJSX('fileListDisplay', {\n        params: {\n          onRemove: props.onRemove,\n          toUploadFiles: props.toUploadFiles,\n          sizeOverLimitMessage: props.sizeOverLimitMessage,\n          locale: props.locale,\n          files: props.displayFiles,\n        },\n      });\n      if (props.fileListDisplay === null || fileListDisplay === null) {\n        fileListDisplay = null;\n      }\n\n      const { displayFiles } = props;\n\n      return (\n        <div class={classes}>\n          {theme.value === 'file-input' && renderFilePreviewAsInput()}\n\n          {slots.default?.()}\n\n          {theme.value === 'file' && props.placeholder && !displayFiles[0] && (\n            <small class={[props.tipsClasses, props.placeholderClass]}>{props.placeholder}</small>\n          )}\n\n          {fileListDisplay === null ? null : fileListDisplay || renderFilePreviewAsText(displayFiles)}\n\n          {/* 单文件上传失败要显示失败的原因 */}\n          {!props.multiple && displayFiles[0]?.status === 'fail' && theme.value === 'file' ? (\n            <small class={[props.errorClasses, props.placeholderClass]}>\n              {displayFiles[0].response?.error || locale.value.progress.failText}\n            </small>\n          ) : null}\n        </div>\n      );\n    };\n  },\n});\n\nexport default NormalFile;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","NormalFile","defineComponent","name","props","_objectSpread","multiple","Boolean","commonProps","setup","_ref","slots","_toRefs","toRefs","theme","disabled","classPrefix","locale","computed","_useGlobalIcon","useGlobalIcon","CloseIcon","TdCloseIcon","TimeFilledIcon","TdTimeFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","CloseCircleFilledIcon","TdCloseCircleFilledIcon","renderTNodeJSX","useTNodeJSX","uploadPrefix","concat","value","renderProgress","percent","_createVNode","TLoading","showUploadProgress","renderFilePreviewAsText","files","_files$","status","autoUpload","map","file","index","fileName","abridgeName","apply","_toConsumableArray","url","Link","_default","onClick","_ref2","e","onRemove","renderFilePreviewAsInput","_props$abridgeName","displayFiles","inputTextClass","_defineProperty","disabledClass","length","placeholderClass","placeholder","_ref5","_slots$default","_displayFiles$","_displayFiles$0$respo","classes","fileListDisplay","params","toUploadFiles","sizeOverLimitMessage","tipsClasses","errorClasses","response","error","progress","failText"],"mappings":"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"}