{"version":3,"file":"BulkActions.mjs","sources":["../../../../../admin/src/pages/App/components/BulkActions.tsx"],"sourcesContent":["import { Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { BulkDeleteButton } from './BulkDeleteButton';\nimport { BulkMoveButton } from './BulkMoveButton';\n\nimport type { File } from '../../../../../shared/contracts/files';\nimport type {\n  FolderDefinition,\n  Folder as FolderInitial,\n} from '../../../../../shared/contracts/folders';\n\ninterface FolderWithType extends FolderInitial {\n  type: string;\n}\n\nexport interface FileWithType extends File {\n  type: string;\n}\n\nexport interface BulkActionsProps {\n  selected: Array<FileWithType | FolderDefinition> | Array<FolderWithType | FileWithType>;\n  onSuccess: () => void;\n  currentFolder?: FolderWithType;\n}\n\nexport const BulkActions = ({ selected = [], onSuccess, currentFolder }: BulkActionsProps) => {\n  const { formatMessage } = useIntl();\n  const numberAssets = selected?.reduce(function (_this, val) {\n    return val?.type === 'folder' && 'files' in val && val?.files && 'count' in val.files\n      ? _this + val?.files?.count\n      : _this + 1;\n  }, 0);\n\n  return (\n    <Flex gap={2} paddingBottom={5}>\n      <Typography variant=\"epsilon\" textColor=\"neutral600\">\n        {formatMessage(\n          {\n            id: getTrad('list.assets.selected'),\n            defaultMessage:\n              '{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected',\n          },\n          {\n            numberFolders: selected?.filter(({ type }) => type === 'folder').length,\n            numberAssets,\n          }\n        )}\n      </Typography>\n\n      <BulkDeleteButton\n        selected={selected as Array<FileWithType | FolderDefinition>}\n        onSuccess={onSuccess}\n      />\n      <BulkMoveButton\n        currentFolder={currentFolder}\n        selected={selected as Array<FolderWithType | FileWithType>}\n        onSuccess={onSuccess}\n      />\n    </Flex>\n  );\n};\n"],"names":["BulkActions","selected","onSuccess","currentFolder","formatMessage","useIntl","numberAssets","reduce","_this","val","type","files","count","_jsxs","Flex","gap","paddingBottom","_jsx","Typography","variant","textColor","id","getTrad","defaultMessage","numberFolders","filter","length","BulkDeleteButton","BulkMoveButton"],"mappings":";;;;;;;;;;;;AA4BO,MAAMA,WAAAA,GAAc,CAAC,EAAEC,QAAAA,GAAW,EAAE,EAAEC,SAAS,EAAEC,aAAa,EAAoB,GAAA;IACvF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,eAAeL,QAAAA,EAAUM,MAAAA,CAAO,SAAUC,KAAK,EAAEC,GAAG,EAAA;AACxD,QAAA,OAAOA,GAAAA,EAAKC,IAAAA,KAAS,QAAA,IAAY,OAAA,IAAWD,OAAOA,GAAAA,EAAKE,KAAAA,IAAS,OAAA,IAAWF,GAAAA,CAAIE,KAAK,GACjFH,KAAAA,GAAQC,GAAAA,EAAKE,KAAAA,EAAOC,QACpBJ,KAAAA,GAAQ,CAAA;IACd,CAAA,EAAG,CAAA,CAAA;AAEH,IAAA,qBACEK,IAAA,CAACC,IAAAA,EAAAA;QAAKC,GAAAA,EAAK,CAAA;QAAGC,aAAAA,EAAe,CAAA;;0BAC3BC,GAAA,CAACC,UAAAA,EAAAA;gBAAWC,OAAAA,EAAQ,SAAA;gBAAUC,SAAAA,EAAU,YAAA;0BACrChB,aAAAA,CACC;AACEiB,oBAAAA,EAAAA,EAAIC,OAAAA,CAAQ,sBAAA,CAAA;oBACZC,cAAAA,EACE;iBACJ,EACA;oBACEC,aAAAA,EAAevB,QAAAA,EAAUwB,OAAO,CAAC,EAAEf,IAAI,EAAE,GAAKA,SAAS,QAAA,CAAA,CAAUgB,MAAAA;AACjEpB,oBAAAA;AACF,iBAAA;;0BAIJW,GAAA,CAACU,gBAAAA,EAAAA;gBACC1B,QAAAA,EAAUA,QAAAA;gBACVC,SAAAA,EAAWA;;0BAEbe,GAAA,CAACW,cAAAA,EAAAA;gBACCzB,aAAAA,EAAeA,aAAAA;gBACfF,QAAAA,EAAUA,QAAAA;gBACVC,SAAAA,EAAWA;;;;AAInB;;;;"}