{"version":3,"file":"image-card.mjs","sources":["../../../../components/upload/components/image-card.tsx"],"sourcesContent":["import { defineComponent, PropType, toRefs, computed } from 'vue';\nimport {\n  BrowseIcon as TdBrowseIcon,\n  DeleteIcon as TdDeleteIcon,\n  AddIcon as TdAddIcon,\n  ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport Loading from '../../loading';\nimport { useTNodeJSX, useGlobalIcon } from '@tdesign/shared-hooks';\nimport ImageViewer, { ImageViewerProps } from '../../image-viewer';\nimport { CommonDisplayFileProps } from '../types';\nimport { commonProps } from '../constants';\nimport { TdUploadProps, UploadFile } from '../type';\nimport { abridgeName } from '@tdesign/common-js/upload/utils';\nimport { UploadConfig } from '../../config-provider';\n\nimport Link from '../../link';\nimport Image from '../../image';\n\nexport interface ImageCardUploadProps extends CommonDisplayFileProps {\n  multiple: TdUploadProps['multiple'];\n  max: TdUploadProps['max'];\n  disabled?: TdUploadProps['disabled'];\n  showUploadProgress: TdUploadProps['showUploadProgress'];\n  triggerUpload?: (e: MouseEvent) => void;\n  uploadFiles?: (toFiles?: UploadFile[]) => void;\n  cancelUpload?: (context: { e: MouseEvent; file: UploadFile }) => void;\n  onPreview?: TdUploadProps['onPreview'];\n}\n\nexport default defineComponent({\n  name: 'UploadImageCard',\n  props: {\n    ...commonProps,\n    multiple: Boolean,\n    max: Number,\n    disabled: Boolean,\n    showUploadProgress: Boolean,\n    triggerUpload: Function as PropType<ImageCardUploadProps['triggerUpload']>,\n    uploadFiles: Function as PropType<ImageCardUploadProps['uploadFiles']>,\n    cancelUpload: Function as PropType<ImageCardUploadProps['cancelUpload']>,\n    onPreview: Function as PropType<ImageCardUploadProps['onPreview']>,\n    showImageFileName: Boolean,\n  },\n  setup(props) {\n    const { displayFiles, classPrefix, multiple, max } = toRefs(props);\n    const locale = computed(() => props.locale as UploadConfig);\n    const { BrowseIcon, DeleteIcon, AddIcon, ErrorCircleFilledIcon } = useGlobalIcon({\n      AddIcon: TdAddIcon,\n      BrowseIcon: TdBrowseIcon,\n      DeleteIcon: TdDeleteIcon,\n      ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n    });\n\n    const renderTNodeJSX = useTNodeJSX();\n\n    const showTrigger = computed(() => {\n      if (multiple.value) {\n        return !max.value || displayFiles.value.length < max.value;\n      }\n      return !displayFiles.value?.[0];\n    });\n\n    const renderMainContent = (file: UploadFile, index: number) => {\n      return (\n        <div class={`${classPrefix.value}-upload__card-content ${classPrefix.value}-upload__card-box`}>\n          <Image class={`${classPrefix.value}-upload__card-image`} src={file.url || file.raw} error=\"\" fit=\"contain\" />\n          <div class={`${classPrefix.value}-upload__card-mask`}>\n            <span class={`${classPrefix.value}-upload__card-mask-item`} onClick={(e) => e.stopPropagation()}>\n              <ImageViewer\n                images={displayFiles.value.map((t: UploadFile) => t.url || t.raw)}\n                defaultIndex={index}\n                trigger={(h, { open }) => {\n                  return (\n                    <BrowseIcon\n                      onClick={({ e }: { e: MouseEvent }) => {\n                        props.onPreview?.({ file, index, e });\n                        open();\n                      }}\n                    />\n                  );\n                }}\n                {...(props.imageViewerProps as ImageViewerProps)}\n              ></ImageViewer>\n            </span>\n            {!props.disabled && (\n              <>\n                <span class={`${classPrefix.value}-upload__card-mask-item-divider`} />\n                <span class={`${classPrefix.value}-upload__card-mask-item`} onClick={(e) => e.stopPropagation()}>\n                  <DeleteIcon onClick={({ e }: { e: MouseEvent }) => props?.onRemove?.({ e, file, index })} />\n                </span>\n              </>\n            )}\n          </div>\n        </div>\n      );\n    };\n\n    const renderProgressFile = (file: UploadFile, loadCard: string) => {\n      return (\n        <div class={[loadCard, `${classPrefix.value}-upload__${props.theme}-${file.status}`]}>\n          <Loading loading={true} size=\"medium\" />\n          <p>\n            {locale.value?.progress?.uploadingText}\n            {props.showUploadProgress ? ` ${file.percent}%` : ''}\n          </p>\n        </div>\n      );\n    };\n\n    const renderFailFile = (file: UploadFile, index: number, loadCard: string) => {\n      return (\n        <div class={loadCard}>\n          <ErrorCircleFilledIcon />\n          <p>{file.response?.error || locale.value?.progress?.failText}</p>\n          <div class={`${classPrefix.value}-upload__card-mask`}>\n            <span class={`${classPrefix.value}-upload__card-mask-item`} onClick={(e) => e.stopPropagation()}>\n              <DeleteIcon onClick={({ e }: { e: MouseEvent }) => props?.onRemove?.({ e, file, index })} />\n            </span>\n          </div>\n        </div>\n      );\n    };\n\n    return () => {\n      // render custom UI with fileListDisplay\n      const customList = renderTNodeJSX('fileListDisplay', {\n        params: {\n          triggerUpload: props.triggerUpload,\n          uploadFiles: props.uploadFiles,\n          cancelUpload: props.cancelUpload,\n          onPreview: props.onPreview,\n          onRemove: props.onRemove,\n          toUploadFiles: props.toUploadFiles,\n          sizeOverLimitMessage: props.sizeOverLimitMessage,\n          locale: props.locale,\n          files: displayFiles.value,\n        },\n      });\n      if (customList) return customList;\n\n      const cardItemClasses = `${classPrefix.value}-upload__card-item ${classPrefix.value}-is-background`;\n      const renderTrigger = () => {\n        return (\n          renderTNodeJSX('trigger', {\n            params: {\n              triggerUpload: props.triggerUpload,\n            },\n          }) || (\n            <li class={cardItemClasses} onClick={props.triggerUpload}>\n              <div\n                class={[\n                  `${classPrefix.value}-upload__image-add`,\n                  `${classPrefix.value}-upload__card-container`,\n                  `${classPrefix.value}-upload__card-box`,\n                  {\n                    [`${classPrefix.value}-is-disabled`]: props.disabled,\n                  },\n                ]}\n              >\n                <AddIcon />\n                <p class={[`${classPrefix.value}-size-s`, `${classPrefix.value}-upload__add-text`]}>\n                  {locale.value?.triggerUploadText?.image}\n                </p>\n              </div>\n            </li>\n          )\n        );\n      };\n      return (\n        <div>\n          <ul class={`${classPrefix.value}-upload__card`}>\n            {displayFiles.value?.map((file: UploadFile, index: number) => {\n              const fileNameClassName = `${classPrefix.value}-upload__card-name`;\n\n              const loadCard = `${classPrefix.value}-upload__card-container ${classPrefix.value}-upload__card-box`;\n              const fileName = props.abridgeName ? abridgeName(file.name, ...props.abridgeName) : file.name;\n              return (\n                <li class={cardItemClasses} key={index}>\n                  {file.status === 'progress' && renderProgressFile(file, loadCard)}\n                  {file.status === 'fail' && renderFailFile(file, index, loadCard)}\n                  {!['progress', 'fail'].includes(file.status) && renderMainContent(file, index)}\n                  {Boolean(fileName && props.showImageFileName) &&\n                    (file.url ? (\n                      <Link\n                        href={file.url}\n                        class={fileNameClassName}\n                        target=\"_blank\"\n                        hover=\"color\"\n                        size=\"small\"\n                        disabled={false}\n                      >\n                        {fileName}\n                      </Link>\n                    ) : (\n                      <span class={fileNameClassName}>{fileName}</span>\n                    ))}\n                </li>\n              );\n            })}\n\n            {showTrigger.value && renderTrigger()}\n          </ul>\n        </div>\n      );\n    };\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","_objectSpread","commonProps","multiple","Boolean","max","Number","disabled","showUploadProgress","triggerUpload","Function","uploadFiles","cancelUpload","onPreview","showImageFileName","setup","_toRefs","toRefs","displayFiles","classPrefix","locale","computed","_useGlobalIcon","useGlobalIcon","AddIcon","TdAddIcon","BrowseIcon","TdBrowseIcon","DeleteIcon","TdDeleteIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","renderTNodeJSX","useTNodeJSX","showTrigger","_displayFiles$value","value","length","renderMainContent","file","index","_createVNode","concat","Image","url","raw","onClick","e","stopPropagation","ImageViewer","_mergeProps","map","t","trigger","h","_ref","open","_ref2","_props$onPreview","imageViewerProps","_Fragment","_ref3","_props$onRemove","onRemove","renderProgressFile","loadCard","_locale$value","theme","status","Loading","progress","uploadingText","percent","renderFailFile","_file$response","_locale$value2","response","error","failText","_ref4","_props$onRemove2","_displayFiles$value2","customList","params","toUploadFiles","sizeOverLimitMessage","files","cardItemClasses","renderTrigger","_locale$value3","_defineProperty","triggerUploadText","image","fileNameClassName","fileName","abridgeName","apply","includes","Link","_default"],"mappings":"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"}