{"version":3,"file":"index.mjs","sources":["../../../../components/image-viewer/utils/index.ts"],"sourcesContent":["import { isString } from 'lodash-es';\nimport { isArray } from 'lodash-es';\n\nimport { TdImageViewerProps, ImageInfo } from '../type';\n\nexport const downloadFile = function (imgSrc: string) {\n  const image = new Image();\n  // fix #2935\n  // 当链接携带了参数时，需处理掉参数再取图片名称，否则扩展名会与参数链接导致原扩展名失效\n  // 例如：img.png?sign=xxx 不处理参数会被转成 img.png_sign=xxx\n  const name = imgSrc?.split?.('?')?.[0]?.split?.('#')?.[0]?.split?.('/').pop() || Math.random().toString(32).slice(2);\n\n  image.setAttribute('crossOrigin', 'anonymous');\n\n  image.onload = () => {\n    const canvas = document.createElement('canvas');\n    canvas.width = image.width;\n    canvas.height = image.height;\n\n    const context = canvas.getContext('2d');\n    context.drawImage(image, 0, 0, image.width, image.height);\n    canvas.toBlob((blob) => {\n      const url = URL.createObjectURL(blob);\n      const a = document.createElement('a');\n      a.download = name;\n      a.href = url;\n      a.click();\n      a.remove();\n      URL.revokeObjectURL(url);\n    });\n  };\n  image.src = imgSrc;\n};\n\nconst isImageInfo = (image: string | File | ImageInfo): image is ImageInfo => {\n  return !!image && !isString(image) && !(image instanceof File);\n};\n\nexport const formatImages = (images: TdImageViewerProps['images']): ImageInfo[] => {\n  if (!isArray(images)) return [];\n  return images.map((item) => {\n    if (isImageInfo(item)) {\n      return {\n        download: true,\n        thumbnail: item.mainImage,\n        ...item,\n      };\n    }\n    return {\n      mainImage: item,\n      thumbnail: item,\n      download: true,\n    };\n  });\n};\n\nexport const getOverlay = (props: TdImageViewerProps) => {\n  if (props.showOverlay !== undefined) {\n    return props.showOverlay;\n  }\n  return props.mode === 'modal';\n};\n"],"names":["downloadFile","imgSrc","_imgSrc$split","_imgSrc$split$split","_imgSrc$split$split$s","image","Image","name","split","call","pop","Math","random","toString","slice","setAttribute","onload","canvas","document","createElement","width","height","context","getContext","drawImage","toBlob","blob","url","URL","createObjectURL","a","download","href","click","remove","revokeObjectURL","src","isImageInfo","isString","File","formatImages","images","isArray","map","item","_objectSpread","thumbnail","mainImage","getOverlay","props","showOverlay","mode"],"mappings":"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"}