{"version":3,"file":"CellContent.mjs","sources":["../../../../admin/src/components/TableList/CellContent.tsx"],"sourcesContent":["import { Typography } from '@strapi/design-system';\nimport parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nimport { formatBytes, getFileExtension } from '../../utils';\n\nimport { PreviewCell } from './PreviewCell';\n\nimport type { File } from '../../../../shared/contracts/files';\n\nexport interface CellContentProps {\n  cellType: string;\n  contentType?: string;\n  content: File;\n  name: string;\n}\n\nexport const CellContent = ({ cellType, contentType, content, name }: CellContentProps) => {\n  const { formatDate, formatMessage } = useIntl();\n  const contentValue = content[name as Extract<keyof File, string>];\n\n  switch (cellType) {\n    case 'image':\n      return <PreviewCell type={contentType} content={content} />;\n\n    case 'date':\n      if (typeof contentValue === 'string') {\n        return <Typography>{formatDate(parseISO(contentValue), { dateStyle: 'full' })}</Typography>;\n      }\n\n    case 'size':\n      if (contentType === 'folder')\n        return (\n          <Typography\n            aria-label={formatMessage({\n              id: 'list.table.content.empty-label',\n              defaultMessage: 'This field is empty',\n            })}\n          >\n            -\n          </Typography>\n        );\n      if (typeof contentValue === 'string' || typeof contentValue === 'number') {\n        return <Typography>{formatBytes(contentValue)}</Typography>;\n      }\n\n    case 'ext':\n      if (contentType === 'folder')\n        return (\n          <Typography\n            aria-label={formatMessage({\n              id: 'list.table.content.empty-label',\n              defaultMessage: 'This field is empty',\n            })}\n          >\n            -\n          </Typography>\n        );\n\n      if (typeof contentValue === 'string') {\n        return <Typography>{getFileExtension(contentValue)?.toUpperCase()}</Typography>;\n      }\n    case 'text':\n      if (typeof contentValue === 'string') {\n        return <Typography>{contentValue}</Typography>;\n      }\n\n    default:\n      return (\n        <Typography\n          aria-label={formatMessage({\n            id: 'list.table.content.empty-label',\n            defaultMessage: 'This field is empty',\n          })}\n        >\n          -\n        </Typography>\n      );\n  }\n};\n"],"names":["CellContent","cellType","contentType","content","name","formatDate","formatMessage","useIntl","contentValue","_jsx","PreviewCell","type","Typography","parseISO","dateStyle","aria-label","id","defaultMessage","formatBytes","getFileExtension","toUpperCase"],"mappings":";;;;;;;;;;;;AAiBO,MAAMA,WAAAA,GAAc,CAAC,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,OAAO,EAAEC,IAAI,EAAoB,GAAA;AACpF,IAAA,MAAM,EAAEC,UAAU,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IACtC,MAAMC,YAAAA,GAAeL,OAAO,CAACC,IAAAA,CAAoC;IAEjE,OAAQH,QAAAA;QACN,KAAK,OAAA;AACH,YAAA,qBAAOQ,GAAA,CAACC,WAAAA,EAAAA;gBAAYC,IAAAA,EAAMT,WAAAA;gBAAaC,OAAAA,EAASA;;QAElD,KAAK,MAAA;YACH,IAAI,OAAOK,iBAAiB,QAAA,EAAU;AACpC,gBAAA,qBAAOC,GAAA,CAACG,UAAAA,EAAAA;AAAYP,oBAAAA,QAAAA,EAAAA,UAAAA,CAAWQ,SAASL,YAAAA,CAAAA,EAAe;wBAAEM,SAAAA,EAAW;AAAO,qBAAA;;AAC7E,YAAA;QAEF,KAAK,MAAA;YACH,IAAIZ,WAAAA,KAAgB,QAAA,EAClB,qBACEO,GAAA,CAACG,UAAAA,EAAAA;AACCG,gBAAAA,YAAAA,EAAYT,aAAAA,CAAc;oBACxBU,EAAAA,EAAI,gCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACD,gBAAA,QAAA,EAAA;;AAIL,YAAA,IAAI,OAAOT,YAAAA,KAAiB,QAAA,IAAY,OAAOA,iBAAiB,QAAA,EAAU;AACxE,gBAAA,qBAAOC,GAAA,CAACG,UAAAA,EAAAA;8BAAYM,WAAAA,CAAYV,YAAAA;;AAClC,YAAA;QAEF,KAAK,KAAA;YACH,IAAIN,WAAAA,KAAgB,QAAA,EAClB,qBACEO,GAAA,CAACG,UAAAA,EAAAA;AACCG,gBAAAA,YAAAA,EAAYT,aAAAA,CAAc;oBACxBU,EAAAA,EAAI,gCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACD,gBAAA,QAAA,EAAA;;YAKL,IAAI,OAAOT,iBAAiB,QAAA,EAAU;AACpC,gBAAA,qBAAOC,GAAA,CAACG,UAAAA,EAAAA;AAAYO,oBAAAA,QAAAA,EAAAA,gBAAAA,CAAiBX,YAAAA,CAAAA,EAAeY,WAAAA;;AACtD,YAAA;QACF,KAAK,MAAA;YACH,IAAI,OAAOZ,iBAAiB,QAAA,EAAU;AACpC,gBAAA,qBAAOC,GAAA,CAACG,UAAAA,EAAAA;AAAYJ,oBAAAA,QAAAA,EAAAA;;AACtB,YAAA;AAEF,QAAA;AACE,YAAA,qBACEC,GAAA,CAACG,UAAAA,EAAAA;AACCG,gBAAAA,YAAAA,EAAYT,aAAAA,CAAc;oBACxBU,EAAAA,EAAI,gCAAA;oBACJC,cAAAA,EAAgB;AAClB,iBAAA,CAAA;AACD,gBAAA,QAAA,EAAA;;AAIP;AACF;;;;"}