{"version":3,"file":"CarouselAsset.mjs","sources":["../../../../../admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.tsx"],"sourcesContent":["import { Box, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nimport { AssetType } from '../../../enums';\nimport { createAssetUrl } from '../../../utils';\nimport { getFileIconComponent } from '../../../utils/icons';\nimport { AudioPreview } from '../../AssetCard/AudioPreview';\nimport { VideoPreview } from '../../AssetCard/VideoPreview';\n\nimport type { File as FileAsset } from '../../../../../shared/contracts/files';\n\nconst DocAsset = styled(Flex)`\n  background: linear-gradient(180deg, #ffffff 0%, #f6f6f9 121.48%);\n`;\n\nconst VideoPreviewWrapper = styled(Box)`\n  canvas,\n  video {\n    max-width: 100%;\n    height: 124px;\n  }\n`;\n\nconst AudioPreviewWrapper = styled(Box)`\n  canvas,\n  audio {\n    max-width: 100%;\n  }\n`;\n\nexport const CarouselAsset = ({ asset }: { asset: FileAsset }) => {\n  if (asset.mime?.includes(AssetType.Video)) {\n    return (\n      <VideoPreviewWrapper height=\"100%\">\n        <VideoPreview\n          url={createAssetUrl(asset, true)!}\n          mime={asset.mime}\n          alt={asset.alternativeText || asset.name}\n        />\n      </VideoPreviewWrapper>\n    );\n  }\n\n  if (asset.mime?.includes(AssetType.Audio)) {\n    return (\n      <AudioPreviewWrapper>\n        <AudioPreview\n          url={createAssetUrl(asset, true)!}\n          alt={asset.alternativeText || asset.name}\n        />\n      </AudioPreviewWrapper>\n    );\n  }\n\n  if (asset.mime?.includes(AssetType.Image)) {\n    const assetUrl = createAssetUrl(asset, true);\n    if (!assetUrl) return null;\n\n    // Adding a param to the url to bust the cache and force the refresh of the image when replaced\n    // Only add updatedAt parameter if the URL is not signed to prevent signature invalidation\n    const cacheBustedUrl = asset.isUrlSigned\n      ? assetUrl\n      : `${assetUrl}${assetUrl.includes('?') ? '&' : '?'}updatedAt=${asset.updatedAt}`;\n\n    return (\n      <Box\n        tag=\"img\"\n        maxHeight=\"100%\"\n        maxWidth=\"100%\"\n        src={cacheBustedUrl}\n        alt={asset.alternativeText || asset.name}\n      />\n    );\n  }\n\n  const IconComponent = getFileIconComponent(asset.ext);\n\n  return (\n    <DocAsset width=\"100%\" height=\"100%\" justifyContent=\"center\" hasRadius>\n      <IconComponent aria-label={asset.alternativeText || asset.name} width=\"24px\" height=\"32px\" />\n    </DocAsset>\n  );\n};\n"],"names":["DocAsset","styled","Flex","VideoPreviewWrapper","Box","AudioPreviewWrapper","CarouselAsset","asset","mime","includes","AssetType","Video","_jsx","height","VideoPreview","url","createAssetUrl","alt","alternativeText","name","Audio","AudioPreview","Image","assetUrl","cacheBustedUrl","isUrlSigned","updatedAt","tag","maxHeight","maxWidth","src","IconComponent","getFileIconComponent","ext","width","justifyContent","hasRadius","aria-label"],"mappings":";;;;;;;;;;;;;;AAWA,MAAMA,QAAAA,GAAWC,MAAAA,CAAOC,IAAAA,CAAK;;AAE7B,CAAC;AAED,MAAMC,mBAAAA,GAAsBF,MAAAA,CAAOG,GAAAA,CAAI;;;;;;AAMvC,CAAC;AAED,MAAMC,mBAAAA,GAAsBJ,MAAAA,CAAOG,GAAAA,CAAI;;;;;AAKvC,CAAC;AAEM,MAAME,aAAAA,GAAgB,CAAC,EAAEC,KAAK,EAAwB,GAAA;AAC3D,IAAA,IAAIA,MAAMC,IAAI,EAAEC,QAAAA,CAASC,SAAAA,CAAUC,KAAK,CAAA,EAAG;AACzC,QAAA,qBACEC,GAAA,CAACT,mBAAAA,EAAAA;YAAoBU,MAAAA,EAAO,MAAA;AAC1B,YAAA,QAAA,gBAAAD,GAAA,CAACE,YAAAA,EAAAA;AACCC,gBAAAA,GAAAA,EAAKC,eAAeT,KAAAA,EAAO,IAAA,CAAA;AAC3BC,gBAAAA,IAAAA,EAAMD,MAAMC,IAAI;AAChBS,gBAAAA,GAAAA,EAAKV,KAAAA,CAAMW,eAAe,IAAIX,KAAAA,CAAMY;;;AAI5C,IAAA;AAEA,IAAA,IAAIZ,MAAMC,IAAI,EAAEC,QAAAA,CAASC,SAAAA,CAAUU,KAAK,CAAA,EAAG;AACzC,QAAA,qBACER,GAAA,CAACP,mBAAAA,EAAAA;AACC,YAAA,QAAA,gBAAAO,GAAA,CAACS,YAAAA,EAAAA;AACCN,gBAAAA,GAAAA,EAAKC,eAAeT,KAAAA,EAAO,IAAA,CAAA;AAC3BU,gBAAAA,GAAAA,EAAKV,KAAAA,CAAMW,eAAe,IAAIX,KAAAA,CAAMY;;;AAI5C,IAAA;AAEA,IAAA,IAAIZ,MAAMC,IAAI,EAAEC,QAAAA,CAASC,SAAAA,CAAUY,KAAK,CAAA,EAAG;QACzC,MAAMC,QAAAA,GAAWP,eAAeT,KAAAA,EAAO,IAAA,CAAA;QACvC,IAAI,CAACgB,UAAU,OAAO,IAAA;;;AAItB,QAAA,MAAMC,iBAAiBjB,KAAAA,CAAMkB,WAAW,GACpCF,QAAAA,GACA,GAAGA,QAAAA,CAAAA,EAAWA,QAAAA,CAASd,QAAQ,CAAC,OAAO,GAAA,GAAM,GAAA,CAAI,UAAU,EAAEF,KAAAA,CAAMmB,SAAS,CAAA,CAAE;AAElF,QAAA,qBACEd,GAAA,CAACR,GAAAA,EAAAA;YACCuB,GAAAA,EAAI,KAAA;YACJC,SAAAA,EAAU,MAAA;YACVC,QAAAA,EAAS,MAAA;YACTC,GAAAA,EAAKN,cAAAA;AACLP,YAAAA,GAAAA,EAAKV,KAAAA,CAAMW,eAAe,IAAIX,KAAAA,CAAMY;;AAG1C,IAAA;IAEA,MAAMY,aAAAA,GAAgBC,oBAAAA,CAAqBzB,KAAAA,CAAM0B,GAAG,CAAA;AAEpD,IAAA,qBACErB,GAAA,CAACZ,QAAAA,EAAAA;QAASkC,KAAAA,EAAM,MAAA;QAAOrB,MAAAA,EAAO,MAAA;QAAOsB,cAAAA,EAAe,QAAA;QAASC,SAAS,EAAA,IAAA;AACpE,QAAA,QAAA,gBAAAxB,GAAA,CAACmB,aAAAA,EAAAA;AAAcM,YAAAA,YAAAA,EAAY9B,KAAAA,CAAMW,eAAe,IAAIX,KAAAA,CAAMY,IAAI;YAAEe,KAAAA,EAAM,MAAA;YAAOrB,MAAAA,EAAO;;;AAG1F;;;;"}