{"version":3,"file":"AssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/AssetCard.tsx"],"sourcesContent":["import { AssetType } from '../../enums';\nimport { createAssetUrl, getFileExtension, prefixFileUrlWithBackendUrl } from '../../utils';\n\nimport { AudioAssetCard } from './AudioAssetCard';\nimport { DocAssetCard } from './DocAssetCard';\nimport { ImageAssetCard } from './ImageAssetCard';\nimport { VideoAssetCard } from './VideoAssetCard';\n\nimport type { File } from '../../../../shared/contracts/files';\n\ntype FileSelectable = File & { isSelectable?: boolean };\n\nexport type AllowedTypes = 'files' | 'images' | 'videos' | 'audios';\n\ninterface AssetCardProps {\n  asset: FileSelectable;\n  local?: boolean;\n  onSelect?: (asset: FileSelectable) => void;\n  onEdit?: (asset: FileSelectable) => void;\n  onRemove?: (asset: FileSelectable) => void;\n  isSelected?: boolean;\n  size?: 'S' | 'M';\n  allowedTypes?: AllowedTypes[];\n  alt?: string;\n  className?: string;\n}\n\nexport const AssetCard = ({\n  asset,\n  isSelected = false,\n  onSelect,\n  onEdit,\n  onRemove,\n  size = 'M',\n  local = false,\n  className,\n}: AssetCardProps) => {\n  const handleSelect = onSelect ? () => onSelect(asset) : undefined;\n\n  const commonAssetCardProps = {\n    id: asset.id,\n    isSelectable: asset.isSelectable,\n    extension: getFileExtension(asset.ext)!,\n    name: asset.name,\n    url: local ? asset.url! : createAssetUrl(asset, true)!,\n    mime: asset.mime!,\n    onEdit: onEdit ? () => onEdit(asset) : undefined,\n    onSelect: handleSelect,\n    onRemove: onRemove ? () => onRemove(asset) : undefined,\n    selected: isSelected,\n    size,\n    className,\n  };\n\n  if (asset.mime?.includes(AssetType.Video)) {\n    return <VideoAssetCard {...commonAssetCardProps} />;\n  }\n\n  if (asset.mime?.includes(AssetType.Image)) {\n    return (\n      <ImageAssetCard\n        alt={asset.alternativeText || asset.name}\n        height={asset.height!}\n        thumbnail={prefixFileUrlWithBackendUrl(asset?.formats?.thumbnail?.url || asset.url)!}\n        width={asset.width!}\n        updatedAt={asset.updatedAt}\n        isUrlSigned={asset?.isUrlSigned || false}\n        {...commonAssetCardProps}\n      />\n    );\n  }\n\n  if (asset.mime?.includes(AssetType.Audio)) {\n    return <AudioAssetCard {...commonAssetCardProps} />;\n  }\n\n  return <DocAssetCard {...commonAssetCardProps} />;\n};\n"],"names":["AssetCard","asset","isSelected","onSelect","onEdit","onRemove","size","local","className","handleSelect","undefined","commonAssetCardProps","id","isSelectable","extension","getFileExtension","ext","name","url","createAssetUrl","mime","selected","includes","AssetType","Video","_jsx","VideoAssetCard","Image","ImageAssetCard","alt","alternativeText","height","thumbnail","prefixFileUrlWithBackendUrl","formats","width","updatedAt","isUrlSigned","Audio","AudioAssetCard","DocAssetCard"],"mappings":";;;;;;;;;;;;;;;AA2BO,MAAMA,YAAY,CAAC,EACxBC,KAAK,EACLC,UAAAA,GAAa,KAAK,EAClBC,QAAQ,EACRC,MAAM,EACNC,QAAQ,EACRC,IAAAA,GAAO,GAAG,EACVC,KAAAA,GAAQ,KAAK,EACbC,SAAS,EACM,GAAA;AACf,IAAA,MAAMC,YAAAA,GAAeN,QAAAA,GAAW,IAAMA,QAAAA,CAASF,KAAAA,CAAAA,GAASS,SAAAA;AAExD,IAAA,MAAMC,oBAAAA,GAAuB;AAC3BC,QAAAA,EAAAA,EAAIX,MAAMW,EAAE;AACZC,QAAAA,YAAAA,EAAcZ,MAAMY,YAAY;QAChCC,SAAAA,EAAWC,gBAAAA,CAAiBd,MAAMe,GAAG,CAAA;AACrCC,QAAAA,IAAAA,EAAMhB,MAAMgB,IAAI;AAChBC,QAAAA,GAAAA,EAAKX,KAAAA,GAAQN,KAAAA,CAAMiB,GAAG,GAAIC,eAAelB,KAAAA,EAAO,IAAA,CAAA;AAChDmB,QAAAA,IAAAA,EAAMnB,MAAMmB,IAAI;QAChBhB,MAAAA,EAAQA,MAAAA,GAAS,IAAMA,MAAAA,CAAOH,KAAAA,CAAAA,GAASS,SAAAA;QACvCP,QAAAA,EAAUM,YAAAA;QACVJ,QAAAA,EAAUA,QAAAA,GAAW,IAAMA,QAAAA,CAASJ,KAAAA,CAAAA,GAASS,SAAAA;QAC7CW,QAAAA,EAAUnB,UAAAA;AACVI,QAAAA,IAAAA;AACAE,QAAAA;AACF,KAAA;AAEA,IAAA,IAAIP,MAAMmB,IAAI,EAAEE,QAAAA,CAASC,SAAAA,CAAUC,KAAK,CAAA,EAAG;AACzC,QAAA,qBAAOC,GAAA,CAACC,cAAAA,EAAAA;AAAgB,YAAA,GAAGf;;AAC7B,IAAA;AAEA,IAAA,IAAIV,MAAMmB,IAAI,EAAEE,QAAAA,CAASC,SAAAA,CAAUI,KAAK,CAAA,EAAG;AACzC,QAAA,qBACEF,GAAA,CAACG,cAAAA,EAAAA;AACCC,YAAAA,GAAAA,EAAK5B,KAAAA,CAAM6B,eAAe,IAAI7B,KAAAA,CAAMgB,IAAI;AACxCc,YAAAA,MAAAA,EAAQ9B,MAAM8B,MAAM;AACpBC,YAAAA,SAAAA,EAAWC,4BAA4BhC,KAAAA,EAAOiC,OAAAA,EAASF,SAAAA,EAAWd,GAAAA,IAAOjB,MAAMiB,GAAG,CAAA;AAClFiB,YAAAA,KAAAA,EAAOlC,MAAMkC,KAAK;AAClBC,YAAAA,SAAAA,EAAWnC,MAAMmC,SAAS;AAC1BC,YAAAA,WAAAA,EAAapC,OAAOoC,WAAAA,IAAe,KAAA;AAClC,YAAA,GAAG1B;;AAGV,IAAA;AAEA,IAAA,IAAIV,MAAMmB,IAAI,EAAEE,QAAAA,CAASC,SAAAA,CAAUe,KAAK,CAAA,EAAG;AACzC,QAAA,qBAAOb,GAAA,CAACc,cAAAA,EAAAA;AAAgB,YAAA,GAAG5B;;AAC7B,IAAA;AAEA,IAAA,qBAAOc,GAAA,CAACe,YAAAA,EAAAA;AAAc,QAAA,GAAG7B;;AAC3B;;;;"}