{"version":3,"file":"UploadProgress.mjs","sources":["../../../../admin/src/components/UploadProgress/UploadProgress.tsx"],"sourcesContent":["// TODO: find a better naming convention for the file that was an index file before\nimport { Flex, ProgressBar, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { UpdateFile } from '../../../../shared/contracts/files';\n\nconst BoxWrapper = styled(Flex)`\n  border-radius: ${({ theme }) => `${theme.borderRadius} ${theme.borderRadius} 0 0`};\n  width: 100%;\n  height: 100%;\n\n  svg {\n    path {\n      fill: ${({ theme, error }) => (error ? theme.colors.danger600 : undefined)};\n    }\n  }\n`;\n\nconst CancelButton = styled.button`\n  border: none;\n  background: none;\n  width: min-content;\n  color: ${({ theme }) => theme.colors.neutral600};\n\n  &:hover,\n  &:focus {\n    color: ${({ theme }) => theme.colors.neutral700};\n  }\n\n  svg {\n    height: 10px;\n    width: 10px;\n\n    path {\n      fill: currentColor;\n    }\n  }\n`;\n\nexport interface UploadProgressProps {\n  error?: UpdateFile.Response['error'] | Error | null;\n  onCancel: () => void;\n  progress?: number;\n}\n\nexport const UploadProgress = ({ onCancel, progress = 0, error }: UploadProgressProps) => {\n  const { formatMessage } = useIntl();\n\n  return (\n    <BoxWrapper\n      justifyContent=\"center\"\n      alignItems=\"center\"\n      background={error ? 'danger100' : 'neutral150'}\n      error={error}\n    >\n      {error ? (\n        <Cross aria-label={error?.message} />\n      ) : (\n        <Flex direction=\"column\" alignItems=\"center\" gap={2} width=\"100%\">\n          <ProgressBar value={progress} />\n          <Typography>{`${progress}/100%`}</Typography>\n\n          <CancelButton type=\"button\" onClick={onCancel}>\n            <Flex gap={2}>\n              <Typography variant=\"pi\" tag=\"span\" textColor=\"inherit\">\n                {formatMessage({\n                  id: 'app.components.Button.cancel',\n                  defaultMessage: 'Cancel',\n                })}\n              </Typography>\n\n              <Cross aria-hidden />\n            </Flex>\n          </CancelButton>\n        </Flex>\n      )}\n    </BoxWrapper>\n  );\n};\n"],"names":["BoxWrapper","styled","Flex","theme","borderRadius","error","colors","danger600","undefined","CancelButton","button","neutral600","neutral700","UploadProgress","onCancel","progress","formatMessage","useIntl","_jsx","justifyContent","alignItems","background","Cross","aria-label","message","_jsxs","direction","gap","width","ProgressBar","value","Typography","type","onClick","variant","tag","textColor","id","defaultMessage","aria-hidden"],"mappings":";;;;;;AAAA;AAQA,MAAMA,UAAAA,GAAaC,MAAAA,CAAOC,IAAAA,CAAK;AACd,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,GAAGA,KAAAA,CAAMC,YAAY,CAAC,CAAC,EAAED,KAAAA,CAAMC,YAAY,CAAC,IAAI,CAAC,CAAC;;;;;;AAMxE,YAAA,EAAE,CAAC,EAAED,KAAK,EAAEE,KAAK,EAAE,GAAMA,KAAAA,GAAQF,KAAAA,CAAMG,MAAM,CAACC,SAAS,GAAGC,SAAAA,CAAW;;;AAGjF,CAAC;AAED,MAAMC,YAAAA,GAAeR,MAAAA,CAAOS,MAAM;;;;SAIzB,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMG,MAAM,CAACK,UAAU,CAAC;;;;WAIvC,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMG,MAAM,CAACM,UAAU,CAAC;;;;;;;;;;;AAWpD,CAAC;AAQM,MAAMC,cAAAA,GAAiB,CAAC,EAAEC,QAAQ,EAAEC,QAAAA,GAAW,CAAC,EAAEV,KAAK,EAAuB,GAAA;IACnF,MAAM,EAAEW,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,qBACEC,GAAA,CAAClB,UAAAA,EAAAA;QACCmB,cAAAA,EAAe,QAAA;QACfC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYhB,QAAQ,WAAA,GAAc,YAAA;QAClCA,KAAAA,EAAOA,KAAAA;AAENA,QAAAA,QAAAA,EAAAA,KAAAA,iBACCa,GAAA,CAACI,KAAAA,EAAAA;AAAMC,YAAAA,YAAAA,EAAYlB,KAAAA,EAAOmB;2BAE1BC,IAAA,CAACvB,IAAAA,EAAAA;YAAKwB,SAAAA,EAAU,QAAA;YAASN,UAAAA,EAAW,QAAA;YAASO,GAAAA,EAAK,CAAA;YAAGC,KAAAA,EAAM,MAAA;;8BACzDV,GAAA,CAACW,WAAAA,EAAAA;oBAAYC,KAAAA,EAAOf;;8BACpBG,GAAA,CAACa,UAAAA,EAAAA;8BAAY,CAAA,EAAGhB,QAAAA,CAAS,KAAK;;8BAE9BG,GAAA,CAACT,YAAAA,EAAAA;oBAAauB,IAAAA,EAAK,QAAA;oBAASC,OAAAA,EAASnB,QAAAA;AACnC,oBAAA,QAAA,gBAAAW,IAAA,CAACvB,IAAAA,EAAAA;wBAAKyB,GAAAA,EAAK,CAAA;;0CACTT,GAAA,CAACa,UAAAA,EAAAA;gCAAWG,OAAAA,EAAQ,IAAA;gCAAKC,GAAAA,EAAI,MAAA;gCAAOC,SAAAA,EAAU,SAAA;0CAC3CpB,aAAAA,CAAc;oCACbqB,EAAAA,EAAI,8BAAA;oCACJC,cAAAA,EAAgB;AAClB,iCAAA;;0CAGFpB,GAAA,CAACI,KAAAA,EAAAA;gCAAMiB,aAAW,EAAA;;;;;;;;AAOhC;;;;"}