@strapi/upload 5.48.1 → 5.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/ai/components/AIAssetCard.js +13 -12
- package/dist/admin/ai/components/AIAssetCard.js.map +1 -1
- package/dist/admin/ai/components/AIAssetCard.mjs +11 -11
- package/dist/admin/ai/components/AIAssetCard.mjs.map +1 -1
- package/dist/admin/ai/components/AIUploadModal.js +3 -3
- package/dist/admin/ai/components/AIUploadModal.mjs +0 -1
- package/dist/admin/ai/components/AIUploadModal.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.js +3 -4
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCard.mjs +4 -5
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js +0 -1
- package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs +0 -1
- package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js +0 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs +0 -1
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.js +6 -6
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -1
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +4 -5
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.js +3 -3
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs +0 -1
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/AssetDialog.js +3 -3
- package/dist/admin/components/AssetDialog/AssetDialog.mjs +0 -1
- package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +3 -3
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +3 -2
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +3 -3
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +0 -1
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +0 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +0 -1
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -1
- package/dist/admin/components/AssetGridList/Draggable.js +3 -2
- package/dist/admin/components/AssetGridList/Draggable.js.map +1 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +3 -3
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +0 -1
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +5 -2
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +0 -1
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +0 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +0 -1
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js +8 -5
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +10 -6
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +4 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/FocalPointActions.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +9 -6
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -1
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +3 -4
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +3 -3
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +0 -1
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +8 -5
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +0 -1
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +0 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +0 -1
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -1
- package/dist/admin/components/FilterPopover/FilterPopover.js +3 -2
- package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -1
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js +3 -2
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +1 -1
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js +5 -3
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -1
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs +2 -1
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +3 -4
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +4 -5
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +0 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +0 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js +5 -3
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs +2 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +4 -4
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +2 -3
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +4 -3
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +1 -1
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
- package/dist/admin/components/SelectTree/SelectTree.js +7 -3
- package/dist/admin/components/SelectTree/SelectTree.js.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.js +0 -1
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs +0 -1
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -1
- package/dist/admin/components/TableList/CellContent.js +5 -2
- package/dist/admin/components/TableList/CellContent.js.map +1 -1
- package/dist/admin/components/TableList/CellContent.mjs +0 -1
- package/dist/admin/components/TableList/CellContent.mjs.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.js +3 -4
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -1
- package/dist/admin/components/TableList/PreviewCell.mjs +4 -5
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -1
- package/dist/admin/components/TableList/TableList.js +0 -1
- package/dist/admin/components/TableList/TableList.js.map +1 -1
- package/dist/admin/components/TableList/TableList.mjs +0 -1
- package/dist/admin/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/components/TableList/TableRows.js +0 -1
- package/dist/admin/components/TableList/TableRows.js.map +1 -1
- package/dist/admin/components/TableList/TableRows.mjs +0 -1
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +5 -5
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +3 -4
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +3 -3
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +3 -3
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +0 -1
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js +3 -2
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -1
- package/dist/admin/constants.js +4 -7
- package/dist/admin/constants.js.map +1 -1
- package/dist/admin/constants.mjs +4 -7
- package/dist/admin/constants.mjs.map +1 -1
- package/dist/admin/enums.js +14 -16
- package/dist/admin/enums.js.map +1 -1
- package/dist/admin/enums.mjs +13 -15
- package/dist/admin/enums.mjs.map +1 -1
- package/dist/admin/future/components/Drawer.js +4 -3
- package/dist/admin/future/components/Drawer.js.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.js +29 -4
- package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.mjs +28 -4
- package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +5 -4
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +2 -2
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js +7 -6
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs +4 -4
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetPreview.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js +2 -2
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +2 -2
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js +3 -2
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZone.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js +389 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs +387 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js +3 -2
- package/dist/admin/future/pages/Assets/components/ImportFromUrlDialog.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js +4 -4
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs +4 -4
- package/dist/admin/future/pages/Assets/hooks/useFolderInfo.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js +48 -2
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs +48 -2
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
- package/dist/admin/future/services/folders.js +28 -1
- package/dist/admin/future/services/folders.js.map +1 -1
- package/dist/admin/future/services/folders.mjs +28 -2
- package/dist/admin/future/services/folders.mjs.map +1 -1
- package/dist/admin/future/utils/files.js +5 -1
- package/dist/admin/future/utils/files.js.map +1 -1
- package/dist/admin/future/utils/getAssetIcon.js +4 -4
- package/dist/admin/future/utils/getAssetIcon.js.map +1 -1
- package/dist/admin/future/utils/getAssetIcon.mjs +4 -4
- package/dist/admin/future/utils/getAssetIcon.mjs.map +1 -1
- package/dist/admin/hooks/useAIMetadataJob.js +3 -3
- package/dist/admin/hooks/useAIMetadataJob.mjs +0 -1
- package/dist/admin/hooks/useAIMetadataJob.mjs.map +1 -1
- package/dist/admin/hooks/useAssets.js +3 -2
- package/dist/admin/hooks/useAssets.js.map +1 -1
- package/dist/admin/hooks/useBulkEdit.js +0 -1
- package/dist/admin/hooks/useBulkEdit.js.map +1 -1
- package/dist/admin/hooks/useBulkEdit.mjs +0 -1
- package/dist/admin/hooks/useBulkEdit.mjs.map +1 -1
- package/dist/admin/hooks/useBulkMove.js +0 -1
- package/dist/admin/hooks/useBulkMove.js.map +1 -1
- package/dist/admin/hooks/useBulkMove.mjs +0 -1
- package/dist/admin/hooks/useBulkMove.mjs.map +1 -1
- package/dist/admin/hooks/useBulkRemove.js +0 -1
- package/dist/admin/hooks/useBulkRemove.js.map +1 -1
- package/dist/admin/hooks/useBulkRemove.mjs +0 -1
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -1
- package/dist/admin/hooks/useCropImg.js +7 -3
- package/dist/admin/hooks/useCropImg.js.map +1 -1
- package/dist/admin/hooks/useEditAsset.js +3 -3
- package/dist/admin/hooks/useEditAsset.mjs +0 -1
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -1
- package/dist/admin/hooks/useFolder.js +0 -1
- package/dist/admin/hooks/useFolder.js.map +1 -1
- package/dist/admin/hooks/useFolder.mjs +0 -1
- package/dist/admin/hooks/useFolder.mjs.map +1 -1
- package/dist/admin/hooks/useFolderStructure.js +0 -1
- package/dist/admin/hooks/useFolderStructure.js.map +1 -1
- package/dist/admin/hooks/useFolderStructure.mjs +0 -1
- package/dist/admin/hooks/useFolderStructure.mjs.map +1 -1
- package/dist/admin/hooks/useFolders.js +3 -2
- package/dist/admin/hooks/useFolders.js.map +1 -1
- package/dist/admin/hooks/useModalQueryParams.js +3 -2
- package/dist/admin/hooks/useModalQueryParams.js.map +1 -1
- package/dist/admin/hooks/useSelectionState.js +3 -2
- package/dist/admin/hooks/useSelectionState.js.map +1 -1
- package/dist/admin/hooks/useUpload.js +3 -2
- package/dist/admin/hooks/useUpload.js.map +1 -1
- package/dist/admin/index.js +0 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +0 -1
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/App/App.js +3 -3
- package/dist/admin/pages/App/App.mjs +0 -1
- package/dist/admin/pages/App/App.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +7 -4
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +0 -1
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +0 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +0 -1
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -1
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js +7 -2
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +1 -1
- package/dist/admin/pages/App/MediaLibrary.js +3 -3
- package/dist/admin/pages/App/MediaLibrary.mjs +0 -1
- package/dist/admin/pages/App/MediaLibrary.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.js +0 -1
- package/dist/admin/pages/App/components/BulkActions.js.map +1 -1
- package/dist/admin/pages/App/components/BulkActions.mjs +0 -1
- package/dist/admin/pages/App/components/BulkActions.mjs.map +1 -1
- package/dist/admin/pages/App/components/BulkMoveButton.js +3 -2
- package/dist/admin/pages/App/components/BulkMoveButton.js.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.js +0 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.js.map +1 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs +0 -1
- package/dist/admin/pages/App/components/EmptyOrNoPermissions.mjs.map +1 -1
- package/dist/admin/pages/App/components/Filters.js +3 -3
- package/dist/admin/pages/App/components/Filters.mjs +0 -1
- package/dist/admin/pages/App/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/App/components/Header.js +0 -1
- package/dist/admin/pages/App/components/Header.js.map +1 -1
- package/dist/admin/pages/App/components/Header.mjs +0 -1
- package/dist/admin/pages/App/components/Header.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.js +7 -4
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs +0 -1
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -1
- package/dist/admin/pages/SettingsPage/reducer.js +5 -1
- package/dist/admin/pages/SettingsPage/reducer.js.map +1 -1
- package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +11 -12
- package/dist/admin/src/components/EmptyAssets/EmptyAssets.d.ts +0 -1
- package/dist/admin/src/components/FolderCard/contexts/FolderCard.d.ts +2 -3
- package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +2 -1
- package/dist/admin/src/constants.d.ts +5 -4
- package/dist/admin/src/enums.d.ts +14 -12
- package/dist/admin/src/future/pages/Assets/components/FolderTree/FolderTree.d.ts +19 -0
- package/dist/admin/src/future/pages/Assets/hooks/useFolderNavigation.d.ts +2 -0
- package/dist/admin/src/future/services/folders.d.ts +2 -2
- package/dist/admin/src/future/store/uploadProgress.d.ts +1 -1
- package/dist/admin/src/hooks/useCropImg.d.ts +2 -2
- package/dist/admin/src/hooks/useEditFolder.d.ts +4 -4
- package/dist/admin/src/hooks/useModalQueryParams.d.ts +5 -5
- package/dist/admin/src/hooks/usePersistentState.d.ts +0 -1
- package/dist/admin/src/hooks/useSettings.d.ts +5 -5
- package/dist/admin/src/hooks/useTracking.d.ts +1 -1
- package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +1 -1
- package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +1 -1
- package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +1 -1
- package/dist/admin/src/utils/getFolderParents.d.ts +3 -3
- package/dist/admin/src/utils/icons.d.ts +2 -1
- package/dist/admin/src/utils/rawFileToAsset.d.ts +1 -1
- package/dist/admin/src/utils/urlsToAssets.d.ts +2 -10
- package/dist/admin/translations/en.json.js +10 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +10 -1
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +175 -0
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +175 -0
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/utils/formatBytes.js +5 -1
- package/dist/admin/utils/formatBytes.js.map +1 -1
- package/dist/admin/utils/icons.js +5 -5
- package/dist/admin/utils/icons.js.map +1 -1
- package/dist/admin/utils/icons.mjs +6 -6
- package/dist/admin/utils/icons.mjs.map +1 -1
- package/dist/admin/utils/typeFromMime.js +9 -9
- package/dist/admin/utils/typeFromMime.js.map +1 -1
- package/dist/admin/utils/typeFromMime.mjs +10 -10
- package/dist/admin/utils/typeFromMime.mjs.map +1 -1
- package/dist/admin/utils/urlYupSchema.js +3 -2
- package/dist/admin/utils/urlYupSchema.js.map +1 -1
- package/dist/admin/utils/urlsToAssets.js +1 -2
- package/dist/admin/utils/urlsToAssets.js.map +1 -1
- package/dist/admin/utils/urlsToAssets.mjs +1 -2
- package/dist/admin/utils/urlsToAssets.mjs.map +1 -1
- package/dist/server/controllers/admin-upload.js +11 -4
- package/dist/server/controllers/admin-upload.js.map +1 -1
- package/dist/server/controllers/content-api.js +7 -2
- package/dist/server/controllers/content-api.js.map +1 -1
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js +7 -3
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -1
- package/dist/server/middlewares/upload.js +7 -2
- package/dist/server/middlewares/upload.js.map +1 -1
- package/dist/server/register.js +9 -4
- package/dist/server/register.js.map +1 -1
- package/dist/server/routes/content-api.js +3 -2
- package/dist/server/routes/content-api.js.map +1 -1
- package/dist/server/routes/validation/upload.js +3 -2
- package/dist/server/routes/validation/upload.js.map +1 -1
- package/dist/server/services/file.js +13 -6
- package/dist/server/services/file.js.map +1 -1
- package/dist/server/services/image-manipulation.js +18 -12
- package/dist/server/services/image-manipulation.js.map +1 -1
- package/dist/server/services/provider.js +24 -0
- package/dist/server/services/provider.js.map +1 -1
- package/dist/server/services/provider.mjs +24 -0
- package/dist/server/services/provider.mjs.map +1 -1
- package/dist/server/services/upload.js +99 -32
- package/dist/server/services/upload.js.map +1 -1
- package/dist/server/services/upload.mjs +69 -10
- package/dist/server/services/upload.mjs.map +1 -1
- package/dist/server/src/controllers/admin-file.d.ts +4 -12
- package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-folder.d.ts +2 -2
- package/dist/server/src/controllers/admin-settings.d.ts +2 -2
- package/dist/server/src/controllers/admin-upload.d.ts +3 -3
- package/dist/server/src/controllers/content-api.d.ts +2 -2
- package/dist/server/src/controllers/content-api.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +14 -23
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/find-entity-and-check-permissions.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/folders.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/configureView.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/folder-file.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/folder-file.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/folder.d.ts +2 -2
- package/dist/server/src/controllers/validation/admin/folder.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/settings.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/upload.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/utils.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-api/upload.d.ts.map +1 -1
- package/dist/server/src/controllers/view-configuration.d.ts +1 -1
- package/dist/server/src/graphql.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +37 -53
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/upload.d.ts.map +1 -1
- package/dist/server/src/services/ai-metadata-jobs.d.ts +1 -1
- package/dist/server/src/services/ai-metadata-jobs.d.ts.map +1 -1
- package/dist/server/src/services/ai-metadata.d.ts.map +1 -1
- package/dist/server/src/services/extensions/utils.d.ts.map +1 -1
- package/dist/server/src/services/file.d.ts +2 -2
- package/dist/server/src/services/file.d.ts.map +1 -1
- package/dist/server/src/services/folder.d.ts +1 -1
- package/dist/server/src/services/folder.d.ts.map +1 -1
- package/dist/server/src/services/image-manipulation.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +23 -30
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/metrics.d.ts.map +1 -1
- package/dist/server/src/services/provider.d.ts +2 -1
- package/dist/server/src/services/provider.d.ts.map +1 -1
- package/dist/server/src/services/upload.d.ts +1 -1
- package/dist/server/src/services/upload.d.ts.map +1 -1
- package/dist/server/src/services/weekly-metrics.d.ts.map +1 -1
- package/dist/server/src/types.d.ts +4 -3
- package/dist/server/src/types.d.ts.map +1 -1
- package/dist/server/src/utils/cron.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/utils/mime-validation.d.ts.map +1 -1
- package/dist/server/utils/mime-validation.js +11 -3
- package/dist/server/utils/mime-validation.js.map +1 -1
- package/dist/server/utils/mime-validation.mjs +12 -4
- package/dist/server/utils/mime-validation.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/admin/future/enums.js +0 -12
- package/dist/admin/future/enums.js.map +0 -1
- package/dist/admin/future/enums.mjs +0 -10
- package/dist/admin/future/enums.mjs.map +0 -1
- package/dist/admin/src/future/enums.d.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AIUploadModal.mjs","sources":["../../../../admin/src/ai/components/AIUploadModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { createContext, useNotification } from '@strapi/admin/strapi-admin';\nimport { Alert, Button, Flex, Modal } from '@strapi/design-system';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport {\n AddAssetStep,\n FileWithRawFile,\n} from '../../components/UploadAssetDialog/AddAssetStep/AddAssetStep';\nimport { useBulkEdit } from '../../hooks/useBulkEdit';\nimport { useTracking } from '../../hooks/useTracking';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\n\nimport { AIAssetCard, AIAssetCardSkeletons } from './AIAssetCard';\n\nimport type { File } from '../../../../shared/contracts/files';\n\n/* -------------------------------------------------------------------------------------------------\n * ModalBody\n * -----------------------------------------------------------------------------------------------*/\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n display: flex;\n justify-content: center;\n\n [data-radix-scroll-area-viewport] {\n padding-top: ${({ theme }) => theme.spaces[6]};\n padding-bottom: ${({ theme }) => theme.spaces[6]};\n padding-left: ${({ theme }) => theme.spaces[7]};\n padding-right: ${({ theme }) => theme.spaces[7]};\n }\n`;\n\nconst StyledAlert = styled(Alert)`\n & > button {\n display: none;\n }\n`;\n\nconst ModalContent = ({ onClose }: Pick<AIUploadModalProps, 'onClose'>) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const state = useAIUploadModalContext('ModalContent', (s) => s.state);\n const dispatch = useAIUploadModalContext('ModalContent', (s) => s.dispatch);\n const folderId = useAIUploadModalContext('ModalContent', (s) => s.folderId);\n const { upload } = useUpload();\n const { edit, isLoading: isSaving } = useBulkEdit();\n const [isUploading, setIsUploading] = React.useState(false);\n const [uploadError, setUploadError] = React.useState<Error | null>(null);\n const { trackUsage } = useTracking();\n\n const handleCaptionChange = (assetId: number, caption: string) => {\n dispatch({\n type: 'set_uploaded_asset_caption',\n payload: { id: assetId, caption },\n });\n };\n\n const handleAltTextChange = (assetId: number, altText: string) => {\n dispatch({\n type: 'set_uploaded_asset_alt_text',\n payload: { id: assetId, altText },\n });\n };\n\n const resetState = () => {\n dispatch({ type: 'set_uploaded_assets', payload: [] });\n };\n\n const handleFinish = async () => {\n if (state.hasUnsavedChanges) {\n const assetsToUpdate = state.uploadedAssets.filter(\n (asset) => (asset.wasCaptionChanged || asset.wasAltTextChanged) && asset.file.id\n );\n\n if (assetsToUpdate.length > 0) {\n if (assetsToUpdate.some((asset) => asset.wasCaptionChanged)) {\n trackUsage('didEditAICaption');\n }\n\n if (assetsToUpdate.some((asset) => asset.wasAltTextChanged)) {\n trackUsage('didEditAIAlternativeText');\n }\n\n // Update assets\n const updates = assetsToUpdate.map((asset) => ({\n id: asset.file.id!,\n fileInfo: {\n name: asset.file.name,\n alternativeText: asset.file.alternativeText ?? null,\n caption: asset.file.caption ?? null,\n folder:\n typeof asset.file.folder === 'object' && asset.file.folder !== null\n ? // @ts-expect-error types are wrong\n asset.file.folder.id\n : asset.file.folder,\n },\n }));\n\n try {\n await edit(updates);\n dispatch({ type: 'clear_unsaved_changes' });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message:\n (err instanceof Error ? err.message : null) ||\n formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n return; // Don't close modal on error\n }\n }\n }\n\n resetState();\n onClose();\n };\n\n const handleCancel = () => {\n resetState();\n onClose();\n };\n\n const handleUpload = async (assets: FileWithRawFile[]) => {\n dispatch({ type: 'set_assets_to_upload_length', payload: assets.length });\n setUploadError(null);\n setIsUploading(true);\n\n try {\n const assetsForUpload = assets.map((asset) => ({\n ...asset,\n id: asset.id ? Number(asset.id) : undefined,\n }));\n\n const uploadedFiles = await upload(assetsForUpload, folderId);\n const filesWithFolder = uploadedFiles.map((file: File) => ({\n ...file,\n // The upload API doesn't populate the folder relation, so we add it manually\n folder: folderId || file.folder,\n }));\n dispatch({ type: 'set_uploaded_assets', payload: filesWithFolder });\n } catch (error) {\n console.error('Upload failed:', error);\n setUploadError(error instanceof Error ? error : new Error('Upload failed'));\n } finally {\n setIsUploading(false);\n }\n };\n\n if (state.assetsToUploadLength === 0) {\n return (\n <Modal.Content>\n <AddAssetStep onClose={onClose} onAddAsset={handleUpload} />\n </Modal.Content>\n );\n }\n\n if (\n isUploading ||\n (state.assetsToUploadLength > 0 && state.uploadedAssets.length === 0 && !uploadError)\n ) {\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('ai.modal.uploading.title'),\n defaultMessage: 'Uploading and processing with AI...',\n })}\n </Modal.Title>\n </Modal.Header>\n <StyledModalBody>\n <AIAssetCardSkeletons count={state.assetsToUploadLength} />\n </StyledModalBody>\n </Modal.Content>\n );\n }\n\n const title = formatMessage(\n {\n id: getTrad('ai.modal.title'),\n defaultMessage:\n '{count, plural, one {# asset uploaded} other {# assets uploaded}}, review AI generated metadata',\n },\n { count: state.uploadedAssets.length }\n );\n\n if (uploadError) {\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{title}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <StyledAlert closeLabel=\"\" variant=\"danger\">\n {formatMessage({\n id: getTrad('ai.modal.error'),\n defaultMessage: 'Could not generate AI metadata for the uploaded files.',\n })}\n </StyledAlert>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={handleCancel} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button onClick={handleFinish} loading={isSaving}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Modal.Content>\n );\n }\n\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{title}</Modal.Title>\n </Modal.Header>\n\n <StyledModalBody>\n <Flex gap={6} direction=\"column\" alignItems=\"stretch\">\n {state.uploadedAssets.map(({ file: asset, wasCaptionChanged, wasAltTextChanged }) => (\n <AIAssetCard\n key={asset.id}\n asset={asset}\n onCaptionChange={(caption: string) =>\n asset.id && handleCaptionChange(asset.id, caption)\n }\n onAltTextChange={(altText: string) =>\n asset.id && handleAltTextChange(asset.id, altText)\n }\n wasCaptionChanged={wasCaptionChanged}\n wasAltTextChanged={wasAltTextChanged}\n />\n ))}\n </Flex>\n </StyledModalBody>\n\n <Modal.Footer>\n <Button onClick={handleCancel} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button onClick={handleFinish} loading={isSaving}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Modal.Content>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UploadModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AIUploadModalProps {\n open: boolean;\n onClose: () => void;\n folderId?: number | null;\n}\n\ntype State = {\n uploadedAssets: Array<{ file: File; wasCaptionChanged: boolean; wasAltTextChanged: boolean }>;\n assetsToUploadLength: number;\n hasUnsavedChanges: boolean;\n};\n\ntype Action =\n | {\n type: 'set_uploaded_assets';\n payload: File[];\n }\n | {\n type: 'set_assets_to_upload_length';\n payload: number;\n }\n | {\n type: 'set_uploaded_asset_caption';\n payload: { id: number; caption: string };\n }\n | {\n type: 'set_uploaded_asset_alt_text';\n payload: { id: number; altText: string };\n }\n | {\n type: 'remove_uploaded_asset';\n payload: { id: number };\n }\n | {\n type: 'edit_uploaded_asset';\n payload: { editedAsset: File };\n }\n | {\n type: 'clear_unsaved_changes';\n };\n\nconst [AIUploadModalContext, useAIUploadModalContext] = createContext<{\n state: State;\n dispatch: React.Dispatch<Action>;\n folderId: number | null;\n onClose: () => void;\n}>('AIUploadModalContext');\n\nconst reducer = (state: State, action: Action): State => {\n return produce(state, (draft: State) => {\n if (action.type === 'set_uploaded_assets') {\n draft.uploadedAssets = action.payload.map((file) => ({\n file,\n wasCaptionChanged: false,\n wasAltTextChanged: false,\n }));\n draft.hasUnsavedChanges = false;\n }\n\n if (action.type === 'set_assets_to_upload_length') {\n draft.assetsToUploadLength = action.payload;\n }\n\n if (action.type === 'set_uploaded_asset_caption') {\n const asset = draft.uploadedAssets.find((a) => a.file.id === action.payload.id);\n if (asset && asset.file.caption !== action.payload.caption) {\n asset.file.caption = action.payload.caption;\n asset.wasCaptionChanged = true;\n draft.hasUnsavedChanges = true;\n }\n }\n\n if (action.type === 'set_uploaded_asset_alt_text') {\n const asset = draft.uploadedAssets.find((a) => a.file.id === action.payload.id);\n if (asset && asset.file.alternativeText !== action.payload.altText) {\n asset.file.alternativeText = action.payload.altText;\n asset.wasAltTextChanged = true;\n draft.hasUnsavedChanges = true;\n }\n }\n\n if (action.type === 'remove_uploaded_asset') {\n draft.uploadedAssets = draft.uploadedAssets.filter((a) => a.file.id !== action.payload.id);\n }\n\n if (action.type === 'edit_uploaded_asset') {\n const assetIndex = draft.uploadedAssets.findIndex(\n (a) => a.file.id === action.payload.editedAsset.id\n );\n if (assetIndex !== -1) {\n draft.uploadedAssets[assetIndex] = {\n file: action.payload.editedAsset,\n wasCaptionChanged: draft.uploadedAssets[assetIndex].wasCaptionChanged,\n wasAltTextChanged: draft.uploadedAssets[assetIndex].wasAltTextChanged,\n };\n }\n }\n\n if (action.type === 'clear_unsaved_changes') {\n draft.hasUnsavedChanges = false;\n draft.uploadedAssets.forEach((asset) => {\n asset.wasCaptionChanged = false;\n asset.wasAltTextChanged = false;\n });\n }\n });\n};\n\nexport const AIUploadModal = ({ open, onClose, folderId = null }: AIUploadModalProps) => {\n const [state, dispatch] = React.useReducer(reducer, {\n uploadedAssets: [],\n assetsToUploadLength: 0,\n hasUnsavedChanges: false,\n });\n\n const handleClose = React.useCallback(() => {\n // Reset state when modal closes\n dispatch({ type: 'set_uploaded_assets', payload: [] });\n onClose();\n }, [onClose]);\n\n return (\n <AIUploadModalContext\n state={state}\n dispatch={dispatch}\n folderId={folderId}\n onClose={handleClose}\n >\n <Modal.Root open={open} onOpenChange={handleClose}>\n <ModalContent onClose={handleClose} />\n </Modal.Root>\n </AIUploadModalContext>\n );\n};\n\nexport { useAIUploadModalContext };\n"],"names":["StyledModalBody","styled","Modal","Body","theme","spaces","StyledAlert","Alert","ModalContent","onClose","formatMessage","useIntl","toggleNotification","useNotification","state","useAIUploadModalContext","s","dispatch","folderId","upload","useUpload","edit","isLoading","isSaving","useBulkEdit","isUploading","setIsUploading","React","useState","uploadError","setUploadError","trackUsage","useTracking","handleCaptionChange","assetId","caption","type","payload","id","handleAltTextChange","altText","resetState","handleFinish","hasUnsavedChanges","assetsToUpdate","uploadedAssets","filter","asset","wasCaptionChanged","wasAltTextChanged","file","length","some","updates","map","fileInfo","name","alternativeText","folder","err","message","Error","defaultMessage","handleCancel","handleUpload","assets","assetsForUpload","Number","undefined","uploadedFiles","filesWithFolder","error","console","assetsToUploadLength","_jsx","Content","AddAssetStep","onAddAsset","_jsxs","Header","Title","getTrad","AIAssetCardSkeletons","count","title","closeLabel","variant","Footer","Button","onClick","loading","Flex","gap","direction","alignItems","AIAssetCard","onCaptionChange","onAltTextChange","AIUploadModalContext","createContext","reducer","action","produce","draft","find","a","assetIndex","findIndex","editedAsset","forEach","AIUploadModal","open","useReducer","handleClose","useCallback","Root","onOpenChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AIUploadModal.mjs","sources":["../../../../admin/src/ai/components/AIUploadModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { createContext, useNotification } from '@strapi/admin/strapi-admin';\nimport { Alert, Button, Flex, Modal } from '@strapi/design-system';\nimport { produce } from 'immer';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport {\n AddAssetStep,\n FileWithRawFile,\n} from '../../components/UploadAssetDialog/AddAssetStep/AddAssetStep';\nimport { useBulkEdit } from '../../hooks/useBulkEdit';\nimport { useTracking } from '../../hooks/useTracking';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\n\nimport { AIAssetCard, AIAssetCardSkeletons } from './AIAssetCard';\n\nimport type { File } from '../../../../shared/contracts/files';\n\n/* -------------------------------------------------------------------------------------------------\n * ModalBody\n * -----------------------------------------------------------------------------------------------*/\n\nconst StyledModalBody = styled(Modal.Body)`\n padding: 0;\n display: flex;\n justify-content: center;\n\n [data-radix-scroll-area-viewport] {\n padding-top: ${({ theme }) => theme.spaces[6]};\n padding-bottom: ${({ theme }) => theme.spaces[6]};\n padding-left: ${({ theme }) => theme.spaces[7]};\n padding-right: ${({ theme }) => theme.spaces[7]};\n }\n`;\n\nconst StyledAlert = styled(Alert)`\n & > button {\n display: none;\n }\n`;\n\nconst ModalContent = ({ onClose }: Pick<AIUploadModalProps, 'onClose'>) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const state = useAIUploadModalContext('ModalContent', (s) => s.state);\n const dispatch = useAIUploadModalContext('ModalContent', (s) => s.dispatch);\n const folderId = useAIUploadModalContext('ModalContent', (s) => s.folderId);\n const { upload } = useUpload();\n const { edit, isLoading: isSaving } = useBulkEdit();\n const [isUploading, setIsUploading] = React.useState(false);\n const [uploadError, setUploadError] = React.useState<Error | null>(null);\n const { trackUsage } = useTracking();\n\n const handleCaptionChange = (assetId: number, caption: string) => {\n dispatch({\n type: 'set_uploaded_asset_caption',\n payload: { id: assetId, caption },\n });\n };\n\n const handleAltTextChange = (assetId: number, altText: string) => {\n dispatch({\n type: 'set_uploaded_asset_alt_text',\n payload: { id: assetId, altText },\n });\n };\n\n const resetState = () => {\n dispatch({ type: 'set_uploaded_assets', payload: [] });\n };\n\n const handleFinish = async () => {\n if (state.hasUnsavedChanges) {\n const assetsToUpdate = state.uploadedAssets.filter(\n (asset) => (asset.wasCaptionChanged || asset.wasAltTextChanged) && asset.file.id\n );\n\n if (assetsToUpdate.length > 0) {\n if (assetsToUpdate.some((asset) => asset.wasCaptionChanged)) {\n trackUsage('didEditAICaption');\n }\n\n if (assetsToUpdate.some((asset) => asset.wasAltTextChanged)) {\n trackUsage('didEditAIAlternativeText');\n }\n\n // Update assets\n const updates = assetsToUpdate.map((asset) => ({\n id: asset.file.id!,\n fileInfo: {\n name: asset.file.name,\n alternativeText: asset.file.alternativeText ?? null,\n caption: asset.file.caption ?? null,\n folder:\n typeof asset.file.folder === 'object' && asset.file.folder !== null\n ? // @ts-expect-error types are wrong\n asset.file.folder.id\n : asset.file.folder,\n },\n }));\n\n try {\n await edit(updates);\n dispatch({ type: 'clear_unsaved_changes' });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message:\n (err instanceof Error ? err.message : null) ||\n formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n return; // Don't close modal on error\n }\n }\n }\n\n resetState();\n onClose();\n };\n\n const handleCancel = () => {\n resetState();\n onClose();\n };\n\n const handleUpload = async (assets: FileWithRawFile[]) => {\n dispatch({ type: 'set_assets_to_upload_length', payload: assets.length });\n setUploadError(null);\n setIsUploading(true);\n\n try {\n const assetsForUpload = assets.map((asset) => ({\n ...asset,\n id: asset.id ? Number(asset.id) : undefined,\n }));\n\n const uploadedFiles = await upload(assetsForUpload, folderId);\n const filesWithFolder = uploadedFiles.map((file: File) => ({\n ...file,\n // The upload API doesn't populate the folder relation, so we add it manually\n folder: folderId || file.folder,\n }));\n dispatch({ type: 'set_uploaded_assets', payload: filesWithFolder });\n } catch (error) {\n console.error('Upload failed:', error);\n setUploadError(error instanceof Error ? error : new Error('Upload failed'));\n } finally {\n setIsUploading(false);\n }\n };\n\n if (state.assetsToUploadLength === 0) {\n return (\n <Modal.Content>\n <AddAssetStep onClose={onClose} onAddAsset={handleUpload} />\n </Modal.Content>\n );\n }\n\n if (\n isUploading ||\n (state.assetsToUploadLength > 0 && state.uploadedAssets.length === 0 && !uploadError)\n ) {\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('ai.modal.uploading.title'),\n defaultMessage: 'Uploading and processing with AI...',\n })}\n </Modal.Title>\n </Modal.Header>\n <StyledModalBody>\n <AIAssetCardSkeletons count={state.assetsToUploadLength} />\n </StyledModalBody>\n </Modal.Content>\n );\n }\n\n const title = formatMessage(\n {\n id: getTrad('ai.modal.title'),\n defaultMessage:\n '{count, plural, one {# asset uploaded} other {# assets uploaded}}, review AI generated metadata',\n },\n { count: state.uploadedAssets.length }\n );\n\n if (uploadError) {\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{title}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <StyledAlert closeLabel=\"\" variant=\"danger\">\n {formatMessage({\n id: getTrad('ai.modal.error'),\n defaultMessage: 'Could not generate AI metadata for the uploaded files.',\n })}\n </StyledAlert>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={handleCancel} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button onClick={handleFinish} loading={isSaving}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Modal.Content>\n );\n }\n\n return (\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{title}</Modal.Title>\n </Modal.Header>\n\n <StyledModalBody>\n <Flex gap={6} direction=\"column\" alignItems=\"stretch\">\n {state.uploadedAssets.map(({ file: asset, wasCaptionChanged, wasAltTextChanged }) => (\n <AIAssetCard\n key={asset.id}\n asset={asset}\n onCaptionChange={(caption: string) =>\n asset.id && handleCaptionChange(asset.id, caption)\n }\n onAltTextChange={(altText: string) =>\n asset.id && handleAltTextChange(asset.id, altText)\n }\n wasCaptionChanged={wasCaptionChanged}\n wasAltTextChanged={wasAltTextChanged}\n />\n ))}\n </Flex>\n </StyledModalBody>\n\n <Modal.Footer>\n <Button onClick={handleCancel} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button onClick={handleFinish} loading={isSaving}>\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Modal.Content>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UploadModal\n * -----------------------------------------------------------------------------------------------*/\n\ninterface AIUploadModalProps {\n open: boolean;\n onClose: () => void;\n folderId?: number | null;\n}\n\ntype State = {\n uploadedAssets: Array<{ file: File; wasCaptionChanged: boolean; wasAltTextChanged: boolean }>;\n assetsToUploadLength: number;\n hasUnsavedChanges: boolean;\n};\n\ntype Action =\n | {\n type: 'set_uploaded_assets';\n payload: File[];\n }\n | {\n type: 'set_assets_to_upload_length';\n payload: number;\n }\n | {\n type: 'set_uploaded_asset_caption';\n payload: { id: number; caption: string };\n }\n | {\n type: 'set_uploaded_asset_alt_text';\n payload: { id: number; altText: string };\n }\n | {\n type: 'remove_uploaded_asset';\n payload: { id: number };\n }\n | {\n type: 'edit_uploaded_asset';\n payload: { editedAsset: File };\n }\n | {\n type: 'clear_unsaved_changes';\n };\n\nconst [AIUploadModalContext, useAIUploadModalContext] = createContext<{\n state: State;\n dispatch: React.Dispatch<Action>;\n folderId: number | null;\n onClose: () => void;\n}>('AIUploadModalContext');\n\nconst reducer = (state: State, action: Action): State => {\n return produce(state, (draft: State) => {\n if (action.type === 'set_uploaded_assets') {\n draft.uploadedAssets = action.payload.map((file) => ({\n file,\n wasCaptionChanged: false,\n wasAltTextChanged: false,\n }));\n draft.hasUnsavedChanges = false;\n }\n\n if (action.type === 'set_assets_to_upload_length') {\n draft.assetsToUploadLength = action.payload;\n }\n\n if (action.type === 'set_uploaded_asset_caption') {\n const asset = draft.uploadedAssets.find((a) => a.file.id === action.payload.id);\n if (asset && asset.file.caption !== action.payload.caption) {\n asset.file.caption = action.payload.caption;\n asset.wasCaptionChanged = true;\n draft.hasUnsavedChanges = true;\n }\n }\n\n if (action.type === 'set_uploaded_asset_alt_text') {\n const asset = draft.uploadedAssets.find((a) => a.file.id === action.payload.id);\n if (asset && asset.file.alternativeText !== action.payload.altText) {\n asset.file.alternativeText = action.payload.altText;\n asset.wasAltTextChanged = true;\n draft.hasUnsavedChanges = true;\n }\n }\n\n if (action.type === 'remove_uploaded_asset') {\n draft.uploadedAssets = draft.uploadedAssets.filter((a) => a.file.id !== action.payload.id);\n }\n\n if (action.type === 'edit_uploaded_asset') {\n const assetIndex = draft.uploadedAssets.findIndex(\n (a) => a.file.id === action.payload.editedAsset.id\n );\n if (assetIndex !== -1) {\n draft.uploadedAssets[assetIndex] = {\n file: action.payload.editedAsset,\n wasCaptionChanged: draft.uploadedAssets[assetIndex].wasCaptionChanged,\n wasAltTextChanged: draft.uploadedAssets[assetIndex].wasAltTextChanged,\n };\n }\n }\n\n if (action.type === 'clear_unsaved_changes') {\n draft.hasUnsavedChanges = false;\n draft.uploadedAssets.forEach((asset) => {\n asset.wasCaptionChanged = false;\n asset.wasAltTextChanged = false;\n });\n }\n });\n};\n\nexport const AIUploadModal = ({ open, onClose, folderId = null }: AIUploadModalProps) => {\n const [state, dispatch] = React.useReducer(reducer, {\n uploadedAssets: [],\n assetsToUploadLength: 0,\n hasUnsavedChanges: false,\n });\n\n const handleClose = React.useCallback(() => {\n // Reset state when modal closes\n dispatch({ type: 'set_uploaded_assets', payload: [] });\n onClose();\n }, [onClose]);\n\n return (\n <AIUploadModalContext\n state={state}\n dispatch={dispatch}\n folderId={folderId}\n onClose={handleClose}\n >\n <Modal.Root open={open} onOpenChange={handleClose}>\n <ModalContent onClose={handleClose} />\n </Modal.Root>\n </AIUploadModalContext>\n );\n};\n\nexport { useAIUploadModalContext };\n"],"names":["StyledModalBody","styled","Modal","Body","theme","spaces","StyledAlert","Alert","ModalContent","onClose","formatMessage","useIntl","toggleNotification","useNotification","state","useAIUploadModalContext","s","dispatch","folderId","upload","useUpload","edit","isLoading","isSaving","useBulkEdit","isUploading","setIsUploading","React","useState","uploadError","setUploadError","trackUsage","useTracking","handleCaptionChange","assetId","caption","type","payload","id","handleAltTextChange","altText","resetState","handleFinish","hasUnsavedChanges","assetsToUpdate","uploadedAssets","filter","asset","wasCaptionChanged","wasAltTextChanged","file","length","some","updates","map","fileInfo","name","alternativeText","folder","err","message","Error","defaultMessage","handleCancel","handleUpload","assets","assetsForUpload","Number","undefined","uploadedFiles","filesWithFolder","error","console","assetsToUploadLength","_jsx","Content","AddAssetStep","onAddAsset","_jsxs","Header","Title","getTrad","AIAssetCardSkeletons","count","title","closeLabel","variant","Footer","Button","onClick","loading","Flex","gap","direction","alignItems","AIAssetCard","onCaptionChange","onAltTextChange","AIUploadModalContext","createContext","reducer","action","produce","draft","find","a","assetIndex","findIndex","editedAsset","forEach","AIUploadModal","open","useReducer","handleClose","useCallback","Root","onOpenChange"],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ require('date-fns');
|
|
|
8
8
|
require('qs');
|
|
9
9
|
var getFileExtension = require('../../utils/getFileExtension.js');
|
|
10
10
|
var prefixFileUrlWithBackendUrl = require('../../utils/prefixFileUrlWithBackendUrl.js');
|
|
11
|
-
require('../../utils/typeFromMime.js');
|
|
12
11
|
require('../../utils/urlYupSchema.js');
|
|
13
12
|
var AudioAssetCard = require('./AudioAssetCard.js');
|
|
14
13
|
var DocAssetCard = require('./DocAssetCard.js');
|
|
@@ -31,12 +30,12 @@ const AssetCard = ({ asset, isSelected = false, onSelect, onEdit, onRemove, size
|
|
|
31
30
|
size,
|
|
32
31
|
className
|
|
33
32
|
};
|
|
34
|
-
if (asset.mime?.includes(enums.
|
|
33
|
+
if (asset.mime?.includes(enums.ASSET_TYPES.Video)) {
|
|
35
34
|
return /*#__PURE__*/ jsxRuntime.jsx(VideoAssetCard.VideoAssetCard, {
|
|
36
35
|
...commonAssetCardProps
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
|
-
if (asset.mime?.includes(enums.
|
|
38
|
+
if (asset.mime?.includes(enums.ASSET_TYPES.Image)) {
|
|
40
39
|
return /*#__PURE__*/ jsxRuntime.jsx(ImageAssetCard.ImageAssetCard, {
|
|
41
40
|
alt: asset.alternativeText || asset.name,
|
|
42
41
|
height: asset.height,
|
|
@@ -47,7 +46,7 @@ const AssetCard = ({ asset, isSelected = false, onSelect, onEdit, onRemove, size
|
|
|
47
46
|
...commonAssetCardProps
|
|
48
47
|
});
|
|
49
48
|
}
|
|
50
|
-
if (asset.mime?.includes(enums.
|
|
49
|
+
if (asset.mime?.includes(enums.ASSET_TYPES.Audio)) {
|
|
51
50
|
return /*#__PURE__*/ jsxRuntime.jsx(AudioAssetCard.AudioAssetCard, {
|
|
52
51
|
...commonAssetCardProps
|
|
53
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCard.js","sources":["../../../../admin/src/components/AssetCard/AssetCard.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"AssetCard.js","sources":["../../../../admin/src/components/AssetCard/AssetCard.tsx"],"sourcesContent":["import { ASSET_TYPES } 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(ASSET_TYPES.Video)) {\n return <VideoAssetCard {...commonAssetCardProps} />;\n }\n\n if (asset.mime?.includes(ASSET_TYPES.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(ASSET_TYPES.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","ASSET_TYPES","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,iCAAAA,CAAiBd,MAAMe,GAAG,CAAA;AACrCC,QAAAA,IAAAA,EAAMhB,MAAMgB,IAAI;AAChBC,QAAAA,GAAAA,EAAKX,KAAAA,GAAQN,KAAAA,CAAMiB,GAAG,GAAIC,8BAAelB,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,iBAAAA,CAAYC,KAAK,CAAA,EAAG;AAC3C,QAAA,qBAAOC,cAAA,CAACC,6BAAAA,EAAAA;AAAgB,YAAA,GAAGf;;AAC7B,IAAA;AAEA,IAAA,IAAIV,MAAMmB,IAAI,EAAEE,QAAAA,CAASC,iBAAAA,CAAYI,KAAK,CAAA,EAAG;AAC3C,QAAA,qBACEF,cAAA,CAACG,6BAAAA,EAAAA;AACCC,YAAAA,GAAAA,EAAK5B,KAAAA,CAAM6B,eAAe,IAAI7B,KAAAA,CAAMgB,IAAI;AACxCc,YAAAA,MAAAA,EAAQ9B,MAAM8B,MAAM;AACpBC,YAAAA,SAAAA,EAAWC,wDAA4BhC,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,iBAAAA,CAAYe,KAAK,CAAA,EAAG;AAC3C,QAAA,qBAAOb,cAAA,CAACc,6BAAAA,EAAAA;AAAgB,YAAA,GAAG5B;;AAC7B,IAAA;AAEA,IAAA,qBAAOc,cAAA,CAACe,yBAAAA,EAAAA;AAAc,QAAA,GAAG7B;;AAC3B;;;;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { ASSET_TYPES } from '../../enums.mjs';
|
|
3
3
|
import { createAssetUrl } from '../../utils/createAssetUrl.mjs';
|
|
4
4
|
import 'byte-size';
|
|
5
5
|
import 'date-fns';
|
|
6
6
|
import 'qs';
|
|
7
7
|
import { getFileExtension } from '../../utils/getFileExtension.mjs';
|
|
8
8
|
import { prefixFileUrlWithBackendUrl } from '../../utils/prefixFileUrlWithBackendUrl.mjs';
|
|
9
|
-
import '../../utils/typeFromMime.mjs';
|
|
10
9
|
import '../../utils/urlYupSchema.mjs';
|
|
11
10
|
import { AudioAssetCard } from './AudioAssetCard.mjs';
|
|
12
11
|
import { DocAssetCard } from './DocAssetCard.mjs';
|
|
@@ -29,12 +28,12 @@ const AssetCard = ({ asset, isSelected = false, onSelect, onEdit, onRemove, size
|
|
|
29
28
|
size,
|
|
30
29
|
className
|
|
31
30
|
};
|
|
32
|
-
if (asset.mime?.includes(
|
|
31
|
+
if (asset.mime?.includes(ASSET_TYPES.Video)) {
|
|
33
32
|
return /*#__PURE__*/ jsx(VideoAssetCard, {
|
|
34
33
|
...commonAssetCardProps
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
|
-
if (asset.mime?.includes(
|
|
36
|
+
if (asset.mime?.includes(ASSET_TYPES.Image)) {
|
|
38
37
|
return /*#__PURE__*/ jsx(ImageAssetCard, {
|
|
39
38
|
alt: asset.alternativeText || asset.name,
|
|
40
39
|
height: asset.height,
|
|
@@ -45,7 +44,7 @@ const AssetCard = ({ asset, isSelected = false, onSelect, onEdit, onRemove, size
|
|
|
45
44
|
...commonAssetCardProps
|
|
46
45
|
});
|
|
47
46
|
}
|
|
48
|
-
if (asset.mime?.includes(
|
|
47
|
+
if (asset.mime?.includes(ASSET_TYPES.Audio)) {
|
|
49
48
|
return /*#__PURE__*/ jsx(AudioAssetCard, {
|
|
50
49
|
...commonAssetCardProps
|
|
51
50
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/AssetCard.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"AssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/AssetCard.tsx"],"sourcesContent":["import { ASSET_TYPES } 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(ASSET_TYPES.Video)) {\n return <VideoAssetCard {...commonAssetCardProps} />;\n }\n\n if (asset.mime?.includes(ASSET_TYPES.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(ASSET_TYPES.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","ASSET_TYPES","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,WAAAA,CAAYC,KAAK,CAAA,EAAG;AAC3C,QAAA,qBAAOC,GAAA,CAACC,cAAAA,EAAAA;AAAgB,YAAA,GAAGf;;AAC7B,IAAA;AAEA,IAAA,IAAIV,MAAMmB,IAAI,EAAEE,QAAAA,CAASC,WAAAA,CAAYI,KAAK,CAAA,EAAG;AAC3C,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,WAAAA,CAAYe,KAAK,CAAA,EAAG;AAC3C,QAAA,qBAAOb,GAAA,CAACc,cAAAA,EAAAA;AAAgB,YAAA,GAAG5B;;AAC7B,IAAA;AAEA,IAAA,qBAAOc,GAAA,CAACe,YAAAA,EAAAA;AAAc,QAAA,GAAG7B;;AAC3B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCardBase.js","sources":["../../../../admin/src/components/AssetCard/AssetCardBase.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardAction,\n CardBadge,\n CardBody,\n CardCheckbox,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n IconButton,\n Typography,\n} from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../../utils';\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\nconst CardActionsContainer = styled(CardAction)`\n opacity: 0;\n z-index: 1;\n\n &:focus-within {\n opacity: 1;\n }\n`;\n\nconst CardCheckboxWrapper = styled.div`\n z-index: 1;\n`;\n\nconst CardContainer = styled(Card)`\n cursor: pointer;\n\n &:hover {\n ${CardActionsContainer} {\n opacity: 1;\n }\n }\n`;\n\nexport interface AssetCardBaseProps {\n children?: React.ReactNode;\n extension: string;\n isSelectable?: boolean;\n name: string;\n onSelect?: () => void;\n onRemove?: () => void;\n onEdit?: (\n event:\n | React.MouseEvent<HTMLButtonElement, MouseEvent>\n | React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n selected?: boolean;\n subtitle?: string;\n variant: 'Image' | 'Video' | 'Audio' | 'Doc';\n className?: string;\n}\n\nexport const AssetCardBase = ({\n children,\n extension,\n isSelectable = false,\n name,\n onSelect,\n onRemove,\n onEdit,\n selected = false,\n subtitle = '',\n variant = 'Image',\n className,\n}: AssetCardBaseProps) => {\n const { formatMessage } = useIntl();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (onEdit) {\n onEdit(e);\n }\n };\n\n /**\n * This is required because we need to stop the propagation of the event\n * bubbling to the `CardContainer`, however the `CardCheckbox` only returns\n * the `boolean` value as opposed to the event itself.\n */\n const handlePropagationClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n };\n\n return (\n <CardContainer\n className={className}\n role=\"button\"\n height=\"100%\"\n tabIndex={-1}\n onClick={handleClick}\n >\n <CardHeader>\n {isSelectable && (\n <CardCheckboxWrapper onClick={handlePropagationClick}>\n <CardCheckbox checked={selected} onCheckedChange={onSelect} />\n </CardCheckboxWrapper>\n )}\n {(onRemove || onEdit) && (\n <CardActionsContainer onClick={handlePropagationClick} position=\"end\">\n {onRemove && (\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.remove-selection'),\n defaultMessage: 'Remove from selection',\n })}\n onClick={onRemove}\n >\n <Trash />\n </IconButton>\n )}\n\n {onEdit && (\n <IconButton\n label={formatMessage({ id: getTrad('control-card.edit'), defaultMessage: 'Edit' })}\n onClick={onEdit}\n >\n <Pencil />\n </IconButton>\n )}\n </CardActionsContainer>\n )}\n {children}\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{extension}</Extension>\n {subtitle}\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>\n {formatMessage({\n id: getTrad(`settings.section.${variant.toLowerCase()}.label`),\n defaultMessage: variant,\n })}\n </CardBadge>\n </Flex>\n </CardBody>\n </CardContainer>\n );\n};\n"],"names":["Extension","styled","span","CardActionsContainer","CardAction","CardCheckboxWrapper","div","CardContainer","Card","AssetCardBase","children","extension","isSelectable","name","onSelect","onRemove","onEdit","selected","subtitle","variant","className","formatMessage","useIntl","handleClick","e","handlePropagationClick","stopPropagation","_jsxs","role","height","tabIndex","onClick","CardHeader","_jsx","CardCheckbox","checked","onCheckedChange","position","IconButton","label","id","getTrad","defaultMessage","Trash","Pencil","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","CardSubtitle","Flex","grow","CardBadge","toLowerCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssetCardBase.js","sources":["../../../../admin/src/components/AssetCard/AssetCardBase.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardAction,\n CardBadge,\n CardBody,\n CardCheckbox,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n IconButton,\n Typography,\n} from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../../utils';\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\nconst CardActionsContainer = styled(CardAction)`\n opacity: 0;\n z-index: 1;\n\n &:focus-within {\n opacity: 1;\n }\n`;\n\nconst CardCheckboxWrapper = styled.div`\n z-index: 1;\n`;\n\nconst CardContainer = styled(Card)`\n cursor: pointer;\n\n &:hover {\n ${CardActionsContainer} {\n opacity: 1;\n }\n }\n`;\n\nexport interface AssetCardBaseProps {\n children?: React.ReactNode;\n extension: string;\n isSelectable?: boolean;\n name: string;\n onSelect?: () => void;\n onRemove?: () => void;\n onEdit?: (\n event:\n | React.MouseEvent<HTMLButtonElement, MouseEvent>\n | React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n selected?: boolean;\n subtitle?: string;\n variant: 'Image' | 'Video' | 'Audio' | 'Doc';\n className?: string;\n}\n\nexport const AssetCardBase = ({\n children,\n extension,\n isSelectable = false,\n name,\n onSelect,\n onRemove,\n onEdit,\n selected = false,\n subtitle = '',\n variant = 'Image',\n className,\n}: AssetCardBaseProps) => {\n const { formatMessage } = useIntl();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (onEdit) {\n onEdit(e);\n }\n };\n\n /**\n * This is required because we need to stop the propagation of the event\n * bubbling to the `CardContainer`, however the `CardCheckbox` only returns\n * the `boolean` value as opposed to the event itself.\n */\n const handlePropagationClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n };\n\n return (\n <CardContainer\n className={className}\n role=\"button\"\n height=\"100%\"\n tabIndex={-1}\n onClick={handleClick}\n >\n <CardHeader>\n {isSelectable && (\n <CardCheckboxWrapper onClick={handlePropagationClick}>\n <CardCheckbox checked={selected} onCheckedChange={onSelect} />\n </CardCheckboxWrapper>\n )}\n {(onRemove || onEdit) && (\n <CardActionsContainer onClick={handlePropagationClick} position=\"end\">\n {onRemove && (\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.remove-selection'),\n defaultMessage: 'Remove from selection',\n })}\n onClick={onRemove}\n >\n <Trash />\n </IconButton>\n )}\n\n {onEdit && (\n <IconButton\n label={formatMessage({ id: getTrad('control-card.edit'), defaultMessage: 'Edit' })}\n onClick={onEdit}\n >\n <Pencil />\n </IconButton>\n )}\n </CardActionsContainer>\n )}\n {children}\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{extension}</Extension>\n {subtitle}\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>\n {formatMessage({\n id: getTrad(`settings.section.${variant.toLowerCase()}.label`),\n defaultMessage: variant,\n })}\n </CardBadge>\n </Flex>\n </CardBody>\n </CardContainer>\n );\n};\n"],"names":["Extension","styled","span","CardActionsContainer","CardAction","CardCheckboxWrapper","div","CardContainer","Card","AssetCardBase","children","extension","isSelectable","name","onSelect","onRemove","onEdit","selected","subtitle","variant","className","formatMessage","useIntl","handleClick","e","handlePropagationClick","stopPropagation","_jsxs","role","height","tabIndex","onClick","CardHeader","_jsx","CardCheckbox","checked","onCheckedChange","position","IconButton","label","id","getTrad","defaultMessage","Trash","Pencil","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","CardSubtitle","Flex","grow","CardBadge","toLowerCase"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetCardBase.mjs","sources":["../../../../admin/src/components/AssetCard/AssetCardBase.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardAction,\n CardBadge,\n CardBody,\n CardCheckbox,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n IconButton,\n Typography,\n} from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../../utils';\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\nconst CardActionsContainer = styled(CardAction)`\n opacity: 0;\n z-index: 1;\n\n &:focus-within {\n opacity: 1;\n }\n`;\n\nconst CardCheckboxWrapper = styled.div`\n z-index: 1;\n`;\n\nconst CardContainer = styled(Card)`\n cursor: pointer;\n\n &:hover {\n ${CardActionsContainer} {\n opacity: 1;\n }\n }\n`;\n\nexport interface AssetCardBaseProps {\n children?: React.ReactNode;\n extension: string;\n isSelectable?: boolean;\n name: string;\n onSelect?: () => void;\n onRemove?: () => void;\n onEdit?: (\n event:\n | React.MouseEvent<HTMLButtonElement, MouseEvent>\n | React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n selected?: boolean;\n subtitle?: string;\n variant: 'Image' | 'Video' | 'Audio' | 'Doc';\n className?: string;\n}\n\nexport const AssetCardBase = ({\n children,\n extension,\n isSelectable = false,\n name,\n onSelect,\n onRemove,\n onEdit,\n selected = false,\n subtitle = '',\n variant = 'Image',\n className,\n}: AssetCardBaseProps) => {\n const { formatMessage } = useIntl();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (onEdit) {\n onEdit(e);\n }\n };\n\n /**\n * This is required because we need to stop the propagation of the event\n * bubbling to the `CardContainer`, however the `CardCheckbox` only returns\n * the `boolean` value as opposed to the event itself.\n */\n const handlePropagationClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n };\n\n return (\n <CardContainer\n className={className}\n role=\"button\"\n height=\"100%\"\n tabIndex={-1}\n onClick={handleClick}\n >\n <CardHeader>\n {isSelectable && (\n <CardCheckboxWrapper onClick={handlePropagationClick}>\n <CardCheckbox checked={selected} onCheckedChange={onSelect} />\n </CardCheckboxWrapper>\n )}\n {(onRemove || onEdit) && (\n <CardActionsContainer onClick={handlePropagationClick} position=\"end\">\n {onRemove && (\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.remove-selection'),\n defaultMessage: 'Remove from selection',\n })}\n onClick={onRemove}\n >\n <Trash />\n </IconButton>\n )}\n\n {onEdit && (\n <IconButton\n label={formatMessage({ id: getTrad('control-card.edit'), defaultMessage: 'Edit' })}\n onClick={onEdit}\n >\n <Pencil />\n </IconButton>\n )}\n </CardActionsContainer>\n )}\n {children}\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{extension}</Extension>\n {subtitle}\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>\n {formatMessage({\n id: getTrad(`settings.section.${variant.toLowerCase()}.label`),\n defaultMessage: variant,\n })}\n </CardBadge>\n </Flex>\n </CardBody>\n </CardContainer>\n );\n};\n"],"names":["Extension","styled","span","CardActionsContainer","CardAction","CardCheckboxWrapper","div","CardContainer","Card","AssetCardBase","children","extension","isSelectable","name","onSelect","onRemove","onEdit","selected","subtitle","variant","className","formatMessage","useIntl","handleClick","e","handlePropagationClick","stopPropagation","_jsxs","role","height","tabIndex","onClick","CardHeader","_jsx","CardCheckbox","checked","onCheckedChange","position","IconButton","label","id","getTrad","defaultMessage","Trash","Pencil","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","CardSubtitle","Flex","grow","CardBadge","toLowerCase"],"mappings":"
|
|
1
|
+
{"version":3,"file":"AssetCardBase.mjs","sources":["../../../../admin/src/components/AssetCard/AssetCardBase.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardAction,\n CardBadge,\n CardBody,\n CardCheckbox,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n IconButton,\n Typography,\n} from '@strapi/design-system';\nimport { Pencil, Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { getTrad } from '../../utils';\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\nconst CardActionsContainer = styled(CardAction)`\n opacity: 0;\n z-index: 1;\n\n &:focus-within {\n opacity: 1;\n }\n`;\n\nconst CardCheckboxWrapper = styled.div`\n z-index: 1;\n`;\n\nconst CardContainer = styled(Card)`\n cursor: pointer;\n\n &:hover {\n ${CardActionsContainer} {\n opacity: 1;\n }\n }\n`;\n\nexport interface AssetCardBaseProps {\n children?: React.ReactNode;\n extension: string;\n isSelectable?: boolean;\n name: string;\n onSelect?: () => void;\n onRemove?: () => void;\n onEdit?: (\n event:\n | React.MouseEvent<HTMLButtonElement, MouseEvent>\n | React.MouseEvent<HTMLDivElement, MouseEvent>\n ) => void;\n selected?: boolean;\n subtitle?: string;\n variant: 'Image' | 'Video' | 'Audio' | 'Doc';\n className?: string;\n}\n\nexport const AssetCardBase = ({\n children,\n extension,\n isSelectable = false,\n name,\n onSelect,\n onRemove,\n onEdit,\n selected = false,\n subtitle = '',\n variant = 'Image',\n className,\n}: AssetCardBaseProps) => {\n const { formatMessage } = useIntl();\n\n const handleClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (onEdit) {\n onEdit(e);\n }\n };\n\n /**\n * This is required because we need to stop the propagation of the event\n * bubbling to the `CardContainer`, however the `CardCheckbox` only returns\n * the `boolean` value as opposed to the event itself.\n */\n const handlePropagationClick = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e.stopPropagation();\n };\n\n return (\n <CardContainer\n className={className}\n role=\"button\"\n height=\"100%\"\n tabIndex={-1}\n onClick={handleClick}\n >\n <CardHeader>\n {isSelectable && (\n <CardCheckboxWrapper onClick={handlePropagationClick}>\n <CardCheckbox checked={selected} onCheckedChange={onSelect} />\n </CardCheckboxWrapper>\n )}\n {(onRemove || onEdit) && (\n <CardActionsContainer onClick={handlePropagationClick} position=\"end\">\n {onRemove && (\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.remove-selection'),\n defaultMessage: 'Remove from selection',\n })}\n onClick={onRemove}\n >\n <Trash />\n </IconButton>\n )}\n\n {onEdit && (\n <IconButton\n label={formatMessage({ id: getTrad('control-card.edit'), defaultMessage: 'Edit' })}\n onClick={onEdit}\n >\n <Pencil />\n </IconButton>\n )}\n </CardActionsContainer>\n )}\n {children}\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{extension}</Extension>\n {subtitle}\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>\n {formatMessage({\n id: getTrad(`settings.section.${variant.toLowerCase()}.label`),\n defaultMessage: variant,\n })}\n </CardBadge>\n </Flex>\n </CardBody>\n </CardContainer>\n );\n};\n"],"names":["Extension","styled","span","CardActionsContainer","CardAction","CardCheckboxWrapper","div","CardContainer","Card","AssetCardBase","children","extension","isSelectable","name","onSelect","onRemove","onEdit","selected","subtitle","variant","className","formatMessage","useIntl","handleClick","e","handlePropagationClick","stopPropagation","_jsxs","role","height","tabIndex","onClick","CardHeader","_jsx","CardCheckbox","checked","onCheckedChange","position","IconButton","label","id","getTrad","defaultMessage","Trash","Pencil","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","CardSubtitle","Flex","grow","CardBadge","toLowerCase"],"mappings":"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"}
|
|
@@ -6,7 +6,6 @@ var appendSearchParamsToUrl = require('../../utils/appendSearchParamsToUrl.js');
|
|
|
6
6
|
require('byte-size');
|
|
7
7
|
require('date-fns');
|
|
8
8
|
require('qs');
|
|
9
|
-
require('../../utils/typeFromMime.js');
|
|
10
9
|
require('../../utils/urlYupSchema.js');
|
|
11
10
|
var AssetCardBase = require('./AssetCardBase.js');
|
|
12
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAssetCard.js","sources":["../../../../admin/src/components/AssetCard/ImageAssetCard.tsx"],"sourcesContent":["import { CardAsset } from '@strapi/design-system';\n\nimport { appendSearchParamsToUrl } from '../../utils';\n\nimport { AssetCardBase, AssetCardBaseProps } from './AssetCardBase';\n\ninterface ImageAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {\n height?: number;\n width?: number;\n size?: 'S' | 'M';\n thumbnail: string;\n alt: string;\n updatedAt?: string;\n isUrlSigned: boolean;\n}\n\nexport const ImageAssetCard = ({\n height,\n width,\n thumbnail,\n size = 'M',\n alt,\n isUrlSigned,\n selected = false,\n ...props\n}: ImageAssetCardProps) => {\n // appending the updatedAt param to the thumbnail URL prevents it from being cached by the browser (cache busting)\n // applied only if the url is not signed to prevent the signature from being invalidated\n const thumbnailUrl = isUrlSigned\n ? thumbnail\n : appendSearchParamsToUrl({\n url: thumbnail,\n params: { updatedAt: props.updatedAt },\n });\n const subtitle = height && width ? ` - ${width}✕${height}` : undefined;\n\n return (\n <AssetCardBase {...props} selected={selected} subtitle={subtitle} variant=\"Image\">\n <CardAsset src={thumbnailUrl} size={size} alt={alt} />\n </AssetCardBase>\n );\n};\n"],"names":["ImageAssetCard","height","width","thumbnail","size","alt","isUrlSigned","selected","props","thumbnailUrl","appendSearchParamsToUrl","url","params","updatedAt","subtitle","undefined","_jsx","AssetCardBase","variant","CardAsset","src"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageAssetCard.js","sources":["../../../../admin/src/components/AssetCard/ImageAssetCard.tsx"],"sourcesContent":["import { CardAsset } from '@strapi/design-system';\n\nimport { appendSearchParamsToUrl } from '../../utils';\n\nimport { AssetCardBase, AssetCardBaseProps } from './AssetCardBase';\n\ninterface ImageAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {\n height?: number;\n width?: number;\n size?: 'S' | 'M';\n thumbnail: string;\n alt: string;\n updatedAt?: string;\n isUrlSigned: boolean;\n}\n\nexport const ImageAssetCard = ({\n height,\n width,\n thumbnail,\n size = 'M',\n alt,\n isUrlSigned,\n selected = false,\n ...props\n}: ImageAssetCardProps) => {\n // appending the updatedAt param to the thumbnail URL prevents it from being cached by the browser (cache busting)\n // applied only if the url is not signed to prevent the signature from being invalidated\n const thumbnailUrl = isUrlSigned\n ? thumbnail\n : appendSearchParamsToUrl({\n url: thumbnail,\n params: { updatedAt: props.updatedAt },\n });\n const subtitle = height && width ? ` - ${width}✕${height}` : undefined;\n\n return (\n <AssetCardBase {...props} selected={selected} subtitle={subtitle} variant=\"Image\">\n <CardAsset src={thumbnailUrl} size={size} alt={alt} />\n </AssetCardBase>\n );\n};\n"],"names":["ImageAssetCard","height","width","thumbnail","size","alt","isUrlSigned","selected","props","thumbnailUrl","appendSearchParamsToUrl","url","params","updatedAt","subtitle","undefined","_jsx","AssetCardBase","variant","CardAsset","src"],"mappings":";;;;;;;;;;;AAgBO,MAAMA,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,KAAK,EACLC,SAAS,EACTC,OAAO,GAAG,EACVC,GAAG,EACHC,WAAW,EACXC,QAAAA,GAAW,KAAK,EAChB,GAAGC,KAAAA,EACiB,GAAA;;;IAGpB,MAAMC,YAAAA,GAAeH,WAAAA,GACjBH,SAAAA,GACAO,+CAAAA,CAAwB;QACtBC,GAAAA,EAAKR,SAAAA;QACLS,MAAAA,EAAQ;AAAEC,YAAAA,SAAAA,EAAWL,MAAMK;AAAU;AACvC,KAAA,CAAA;IACJ,MAAMC,QAAAA,GAAWb,MAAAA,IAAUC,KAAAA,GAAQ,CAAC,GAAG,EAAEA,KAAAA,CAAM,CAAC,EAAED,MAAAA,CAAAA,CAAQ,GAAGc,SAAAA;AAE7D,IAAA,qBACEC,cAAA,CAACC,2BAAAA,EAAAA;AAAe,QAAA,GAAGT,KAAK;QAAED,QAAAA,EAAUA,QAAAA;QAAUO,QAAAA,EAAUA,QAAAA;QAAUI,OAAAA,EAAQ,OAAA;AACxE,QAAA,QAAA,gBAAAF,cAAA,CAACG,sBAAAA,EAAAA;YAAUC,GAAAA,EAAKX,YAAAA;YAAcL,IAAAA,EAAMA,IAAAA;YAAMC,GAAAA,EAAKA;;;AAGrD;;;;"}
|
|
@@ -4,7 +4,6 @@ import { appendSearchParamsToUrl } from '../../utils/appendSearchParamsToUrl.mjs
|
|
|
4
4
|
import 'byte-size';
|
|
5
5
|
import 'date-fns';
|
|
6
6
|
import 'qs';
|
|
7
|
-
import '../../utils/typeFromMime.mjs';
|
|
8
7
|
import '../../utils/urlYupSchema.mjs';
|
|
9
8
|
import { AssetCardBase } from './AssetCardBase.mjs';
|
|
10
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/ImageAssetCard.tsx"],"sourcesContent":["import { CardAsset } from '@strapi/design-system';\n\nimport { appendSearchParamsToUrl } from '../../utils';\n\nimport { AssetCardBase, AssetCardBaseProps } from './AssetCardBase';\n\ninterface ImageAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {\n height?: number;\n width?: number;\n size?: 'S' | 'M';\n thumbnail: string;\n alt: string;\n updatedAt?: string;\n isUrlSigned: boolean;\n}\n\nexport const ImageAssetCard = ({\n height,\n width,\n thumbnail,\n size = 'M',\n alt,\n isUrlSigned,\n selected = false,\n ...props\n}: ImageAssetCardProps) => {\n // appending the updatedAt param to the thumbnail URL prevents it from being cached by the browser (cache busting)\n // applied only if the url is not signed to prevent the signature from being invalidated\n const thumbnailUrl = isUrlSigned\n ? thumbnail\n : appendSearchParamsToUrl({\n url: thumbnail,\n params: { updatedAt: props.updatedAt },\n });\n const subtitle = height && width ? ` - ${width}✕${height}` : undefined;\n\n return (\n <AssetCardBase {...props} selected={selected} subtitle={subtitle} variant=\"Image\">\n <CardAsset src={thumbnailUrl} size={size} alt={alt} />\n </AssetCardBase>\n );\n};\n"],"names":["ImageAssetCard","height","width","thumbnail","size","alt","isUrlSigned","selected","props","thumbnailUrl","appendSearchParamsToUrl","url","params","updatedAt","subtitle","undefined","_jsx","AssetCardBase","variant","CardAsset","src"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ImageAssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/ImageAssetCard.tsx"],"sourcesContent":["import { CardAsset } from '@strapi/design-system';\n\nimport { appendSearchParamsToUrl } from '../../utils';\n\nimport { AssetCardBase, AssetCardBaseProps } from './AssetCardBase';\n\ninterface ImageAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {\n height?: number;\n width?: number;\n size?: 'S' | 'M';\n thumbnail: string;\n alt: string;\n updatedAt?: string;\n isUrlSigned: boolean;\n}\n\nexport const ImageAssetCard = ({\n height,\n width,\n thumbnail,\n size = 'M',\n alt,\n isUrlSigned,\n selected = false,\n ...props\n}: ImageAssetCardProps) => {\n // appending the updatedAt param to the thumbnail URL prevents it from being cached by the browser (cache busting)\n // applied only if the url is not signed to prevent the signature from being invalidated\n const thumbnailUrl = isUrlSigned\n ? thumbnail\n : appendSearchParamsToUrl({\n url: thumbnail,\n params: { updatedAt: props.updatedAt },\n });\n const subtitle = height && width ? ` - ${width}✕${height}` : undefined;\n\n return (\n <AssetCardBase {...props} selected={selected} subtitle={subtitle} variant=\"Image\">\n <CardAsset src={thumbnailUrl} size={size} alt={alt} />\n </AssetCardBase>\n );\n};\n"],"names":["ImageAssetCard","height","width","thumbnail","size","alt","isUrlSigned","selected","props","thumbnailUrl","appendSearchParamsToUrl","url","params","updatedAt","subtitle","undefined","_jsx","AssetCardBase","variant","CardAsset","src"],"mappings":";;;;;;;;;AAgBO,MAAMA,iBAAiB,CAAC,EAC7BC,MAAM,EACNC,KAAK,EACLC,SAAS,EACTC,OAAO,GAAG,EACVC,GAAG,EACHC,WAAW,EACXC,QAAAA,GAAW,KAAK,EAChB,GAAGC,KAAAA,EACiB,GAAA;;;IAGpB,MAAMC,YAAAA,GAAeH,WAAAA,GACjBH,SAAAA,GACAO,uBAAAA,CAAwB;QACtBC,GAAAA,EAAKR,SAAAA;QACLS,MAAAA,EAAQ;AAAEC,YAAAA,SAAAA,EAAWL,MAAMK;AAAU;AACvC,KAAA,CAAA;IACJ,MAAMC,QAAAA,GAAWb,MAAAA,IAAUC,KAAAA,GAAQ,CAAC,GAAG,EAAEA,KAAAA,CAAM,CAAC,EAAED,MAAAA,CAAAA,CAAQ,GAAGc,SAAAA;AAE7D,IAAA,qBACEC,GAAA,CAACC,aAAAA,EAAAA;AAAe,QAAA,GAAGT,KAAK;QAAED,QAAAA,EAAUA,QAAAA;QAAUO,QAAAA,EAAUA,QAAAA;QAAUI,OAAAA,EAAQ,OAAA;AACxE,QAAA,QAAA,gBAAAF,GAAA,CAACG,SAAAA,EAAAA;YAAUC,GAAAA,EAAKX,YAAAA;YAAcL,IAAAA,EAAMA,IAAAA;YAAMC,GAAAA,EAAKA;;;AAGrD;;;;"}
|
|
@@ -11,11 +11,11 @@ require('byte-size');
|
|
|
11
11
|
require('date-fns');
|
|
12
12
|
var getTrad = require('../../utils/getTrad.js');
|
|
13
13
|
require('qs');
|
|
14
|
-
require('../../utils/typeFromMime.js');
|
|
15
14
|
require('../../utils/urlYupSchema.js');
|
|
16
15
|
var UploadProgress = require('../UploadProgress/UploadProgress.js');
|
|
17
16
|
|
|
18
|
-
function
|
|
17
|
+
function _interopNamespace(e) {
|
|
18
|
+
if (e && e.__esModule) return e;
|
|
19
19
|
var n = Object.create(null);
|
|
20
20
|
if (e) {
|
|
21
21
|
Object.keys(e).forEach(function (k) {
|
|
@@ -32,7 +32,7 @@ function _interopNamespaceDefault(e) {
|
|
|
32
32
|
return Object.freeze(n);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
var React__namespace = /*#__PURE__*/
|
|
35
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
36
36
|
|
|
37
37
|
const UploadProgressWrapper = styledComponents.styled.div`
|
|
38
38
|
height: 8.8rem;
|
|
@@ -48,17 +48,17 @@ const UploadingAssetCard = ({ asset, onCancel, onStatusChange, addUploadedFiles,
|
|
|
48
48
|
id: getTrad.getTrad('settings.section.doc.label'),
|
|
49
49
|
defaultMessage: 'Doc'
|
|
50
50
|
});
|
|
51
|
-
if (asset.type === enums.
|
|
51
|
+
if (asset.type === enums.ASSET_TYPES.Image) {
|
|
52
52
|
badgeContent = formatMessage({
|
|
53
53
|
id: getTrad.getTrad('settings.section.image.label'),
|
|
54
54
|
defaultMessage: 'Image'
|
|
55
55
|
});
|
|
56
|
-
} else if (asset.type === enums.
|
|
56
|
+
} else if (asset.type === enums.ASSET_TYPES.Video) {
|
|
57
57
|
badgeContent = formatMessage({
|
|
58
58
|
id: getTrad.getTrad('settings.section.video.label'),
|
|
59
59
|
defaultMessage: 'Video'
|
|
60
60
|
});
|
|
61
|
-
} else if (asset.type === enums.
|
|
61
|
+
} else if (asset.type === enums.ASSET_TYPES.Audio) {
|
|
62
62
|
badgeContent = formatMessage({
|
|
63
63
|
id: getTrad.getTrad('settings.section.audio.label'),
|
|
64
64
|
defaultMessage: 'Audio'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadingAssetCard.js","sources":["../../../../admin/src/components/AssetCard/UploadingAssetCard.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetType } from '../../enums';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\nimport { UploadProgress } from '../UploadProgress/UploadProgress';\n\nimport type { RawFile, File } from '../../../../shared/contracts/files';\n\nconst UploadProgressWrapper = styled.div`\n height: 8.8rem;\n width: 100%;\n`;\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\ninterface UploadingAssetCardProps {\n onCancel: (rawFile: RawFile) => void;\n onStatusChange: (status: string) => void;\n addUploadedFiles: (files: File[]) => void;\n folderId?: string | number | null;\n asset: Asset;\n id?: string;\n size?: 'S' | 'M';\n}\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\nexport const UploadingAssetCard = ({\n asset,\n onCancel,\n onStatusChange,\n addUploadedFiles,\n folderId = null,\n}: UploadingAssetCardProps) => {\n const { upload, cancel, error, progress, status } = useUpload();\n const { formatMessage } = useIntl();\n\n let badgeContent = formatMessage({\n id: getTrad('settings.section.doc.label'),\n defaultMessage: 'Doc',\n });\n\n if (asset.type ===
|
|
1
|
+
{"version":3,"file":"UploadingAssetCard.js","sources":["../../../../admin/src/components/AssetCard/UploadingAssetCard.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetType, ASSET_TYPES } from '../../enums';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\nimport { UploadProgress } from '../UploadProgress/UploadProgress';\n\nimport type { RawFile, File } from '../../../../shared/contracts/files';\n\nconst UploadProgressWrapper = styled.div`\n height: 8.8rem;\n width: 100%;\n`;\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\ninterface UploadingAssetCardProps {\n onCancel: (rawFile: RawFile) => void;\n onStatusChange: (status: string) => void;\n addUploadedFiles: (files: File[]) => void;\n folderId?: string | number | null;\n asset: Asset;\n id?: string;\n size?: 'S' | 'M';\n}\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\nexport const UploadingAssetCard = ({\n asset,\n onCancel,\n onStatusChange,\n addUploadedFiles,\n folderId = null,\n}: UploadingAssetCardProps) => {\n const { upload, cancel, error, progress, status } = useUpload();\n const { formatMessage } = useIntl();\n\n let badgeContent = formatMessage({\n id: getTrad('settings.section.doc.label'),\n defaultMessage: 'Doc',\n });\n\n if (asset.type === ASSET_TYPES.Image) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.image.label'),\n defaultMessage: 'Image',\n });\n } else if (asset.type === ASSET_TYPES.Video) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.video.label'),\n defaultMessage: 'Video',\n });\n } else if (asset.type === ASSET_TYPES.Audio) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.audio.label'),\n defaultMessage: 'Audio',\n });\n }\n\n React.useEffect(() => {\n const uploadFile = async () => {\n const files = await upload(asset, folderId ? Number(folderId) : null);\n\n if (addUploadedFiles) {\n addUploadedFiles(files);\n }\n };\n\n uploadFile();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n onStatusChange(status);\n }, [status, onStatusChange]);\n\n const handleCancel = () => {\n cancel();\n onCancel(asset.rawFile!);\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Card borderColor={error ? 'danger600' : 'neutral150'}>\n <CardHeader>\n <UploadProgressWrapper>\n <UploadProgress\n error={error || undefined}\n onCancel={handleCancel}\n progress={progress}\n />\n </UploadProgressWrapper>\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{asset.name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{asset.ext}</Extension>\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>{badgeContent}</CardBadge>\n </Flex>\n </CardBody>\n </Card>\n {error ? (\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"danger600\">\n {formatMessage(\n error?.message\n ? {\n id: getTrad(`apiError.${error.message}`),\n defaultMessage: error.message,\n /* See issue: https://github.com/strapi/strapi/issues/13867\n A proxy might return an error, before the request reaches Strapi\n and therefore we need to handle errors gracefully.\n */\n }\n : {\n id: getTrad('upload.generic-error'),\n defaultMessage: 'An error occurred while uploading the file.',\n }\n )}\n </Typography>\n ) : undefined}\n </Flex>\n );\n};\n"],"names":["UploadProgressWrapper","styled","div","Extension","span","UploadingAssetCard","asset","onCancel","onStatusChange","addUploadedFiles","folderId","upload","cancel","error","progress","status","useUpload","formatMessage","useIntl","badgeContent","id","getTrad","defaultMessage","type","ASSET_TYPES","Image","Video","Audio","React","useEffect","uploadFile","files","Number","handleCancel","rawFile","_jsxs","Flex","direction","alignItems","gap","Card","borderColor","_jsx","CardHeader","UploadProgress","undefined","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","name","CardSubtitle","ext","grow","CardBadge","variant","fontWeight","textColor","message"],"mappings":"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"}
|
|
@@ -3,13 +3,12 @@ import * as React from 'react';
|
|
|
3
3
|
import { Flex, Card, CardHeader, CardBody, CardContent, Box, Typography, CardTitle, CardSubtitle, CardBadge } from '@strapi/design-system';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
5
|
import { styled } from 'styled-components';
|
|
6
|
-
import {
|
|
6
|
+
import { ASSET_TYPES } from '../../enums.mjs';
|
|
7
7
|
import { useUpload } from '../../hooks/useUpload.mjs';
|
|
8
8
|
import 'byte-size';
|
|
9
9
|
import 'date-fns';
|
|
10
10
|
import { getTrad } from '../../utils/getTrad.mjs';
|
|
11
11
|
import 'qs';
|
|
12
|
-
import '../../utils/typeFromMime.mjs';
|
|
13
12
|
import '../../utils/urlYupSchema.mjs';
|
|
14
13
|
import { UploadProgress } from '../UploadProgress/UploadProgress.mjs';
|
|
15
14
|
|
|
@@ -27,17 +26,17 @@ const UploadingAssetCard = ({ asset, onCancel, onStatusChange, addUploadedFiles,
|
|
|
27
26
|
id: getTrad('settings.section.doc.label'),
|
|
28
27
|
defaultMessage: 'Doc'
|
|
29
28
|
});
|
|
30
|
-
if (asset.type ===
|
|
29
|
+
if (asset.type === ASSET_TYPES.Image) {
|
|
31
30
|
badgeContent = formatMessage({
|
|
32
31
|
id: getTrad('settings.section.image.label'),
|
|
33
32
|
defaultMessage: 'Image'
|
|
34
33
|
});
|
|
35
|
-
} else if (asset.type ===
|
|
34
|
+
} else if (asset.type === ASSET_TYPES.Video) {
|
|
36
35
|
badgeContent = formatMessage({
|
|
37
36
|
id: getTrad('settings.section.video.label'),
|
|
38
37
|
defaultMessage: 'Video'
|
|
39
38
|
});
|
|
40
|
-
} else if (asset.type ===
|
|
39
|
+
} else if (asset.type === ASSET_TYPES.Audio) {
|
|
41
40
|
badgeContent = formatMessage({
|
|
42
41
|
id: getTrad('settings.section.audio.label'),
|
|
43
42
|
defaultMessage: 'Audio'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UploadingAssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/UploadingAssetCard.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetType } from '../../enums';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\nimport { UploadProgress } from '../UploadProgress/UploadProgress';\n\nimport type { RawFile, File } from '../../../../shared/contracts/files';\n\nconst UploadProgressWrapper = styled.div`\n height: 8.8rem;\n width: 100%;\n`;\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\ninterface UploadingAssetCardProps {\n onCancel: (rawFile: RawFile) => void;\n onStatusChange: (status: string) => void;\n addUploadedFiles: (files: File[]) => void;\n folderId?: string | number | null;\n asset: Asset;\n id?: string;\n size?: 'S' | 'M';\n}\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\nexport const UploadingAssetCard = ({\n asset,\n onCancel,\n onStatusChange,\n addUploadedFiles,\n folderId = null,\n}: UploadingAssetCardProps) => {\n const { upload, cancel, error, progress, status } = useUpload();\n const { formatMessage } = useIntl();\n\n let badgeContent = formatMessage({\n id: getTrad('settings.section.doc.label'),\n defaultMessage: 'Doc',\n });\n\n if (asset.type ===
|
|
1
|
+
{"version":3,"file":"UploadingAssetCard.mjs","sources":["../../../../admin/src/components/AssetCard/UploadingAssetCard.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Card,\n CardBadge,\n CardBody,\n CardContent,\n CardHeader,\n CardSubtitle,\n CardTitle,\n Flex,\n Typography,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { AssetType, ASSET_TYPES } from '../../enums';\nimport { useUpload } from '../../hooks/useUpload';\nimport { getTrad } from '../../utils';\nimport { UploadProgress } from '../UploadProgress/UploadProgress';\n\nimport type { RawFile, File } from '../../../../shared/contracts/files';\n\nconst UploadProgressWrapper = styled.div`\n height: 8.8rem;\n width: 100%;\n`;\n\nconst Extension = styled.span`\n text-transform: uppercase;\n`;\n\ninterface UploadingAssetCardProps {\n onCancel: (rawFile: RawFile) => void;\n onStatusChange: (status: string) => void;\n addUploadedFiles: (files: File[]) => void;\n folderId?: string | number | null;\n asset: Asset;\n id?: string;\n size?: 'S' | 'M';\n}\n\ninterface Asset extends File {\n rawFile?: RawFile;\n type?: AssetType;\n}\n\nexport const UploadingAssetCard = ({\n asset,\n onCancel,\n onStatusChange,\n addUploadedFiles,\n folderId = null,\n}: UploadingAssetCardProps) => {\n const { upload, cancel, error, progress, status } = useUpload();\n const { formatMessage } = useIntl();\n\n let badgeContent = formatMessage({\n id: getTrad('settings.section.doc.label'),\n defaultMessage: 'Doc',\n });\n\n if (asset.type === ASSET_TYPES.Image) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.image.label'),\n defaultMessage: 'Image',\n });\n } else if (asset.type === ASSET_TYPES.Video) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.video.label'),\n defaultMessage: 'Video',\n });\n } else if (asset.type === ASSET_TYPES.Audio) {\n badgeContent = formatMessage({\n id: getTrad('settings.section.audio.label'),\n defaultMessage: 'Audio',\n });\n }\n\n React.useEffect(() => {\n const uploadFile = async () => {\n const files = await upload(asset, folderId ? Number(folderId) : null);\n\n if (addUploadedFiles) {\n addUploadedFiles(files);\n }\n };\n\n uploadFile();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.useEffect(() => {\n onStatusChange(status);\n }, [status, onStatusChange]);\n\n const handleCancel = () => {\n cancel();\n onCancel(asset.rawFile!);\n };\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Card borderColor={error ? 'danger600' : 'neutral150'}>\n <CardHeader>\n <UploadProgressWrapper>\n <UploadProgress\n error={error || undefined}\n onCancel={handleCancel}\n progress={progress}\n />\n </UploadProgressWrapper>\n </CardHeader>\n <CardBody>\n <CardContent>\n <Box paddingTop={1}>\n <Typography tag=\"h2\">\n <CardTitle tag=\"span\">{asset.name}</CardTitle>\n </Typography>\n </Box>\n <CardSubtitle>\n <Extension>{asset.ext}</Extension>\n </CardSubtitle>\n </CardContent>\n <Flex paddingTop={1} grow={1}>\n <CardBadge>{badgeContent}</CardBadge>\n </Flex>\n </CardBody>\n </Card>\n {error ? (\n <Typography variant=\"pi\" fontWeight=\"bold\" textColor=\"danger600\">\n {formatMessage(\n error?.message\n ? {\n id: getTrad(`apiError.${error.message}`),\n defaultMessage: error.message,\n /* See issue: https://github.com/strapi/strapi/issues/13867\n A proxy might return an error, before the request reaches Strapi\n and therefore we need to handle errors gracefully.\n */\n }\n : {\n id: getTrad('upload.generic-error'),\n defaultMessage: 'An error occurred while uploading the file.',\n }\n )}\n </Typography>\n ) : undefined}\n </Flex>\n );\n};\n"],"names":["UploadProgressWrapper","styled","div","Extension","span","UploadingAssetCard","asset","onCancel","onStatusChange","addUploadedFiles","folderId","upload","cancel","error","progress","status","useUpload","formatMessage","useIntl","badgeContent","id","getTrad","defaultMessage","type","ASSET_TYPES","Image","Video","Audio","React","useEffect","uploadFile","files","Number","handleCancel","rawFile","_jsxs","Flex","direction","alignItems","gap","Card","borderColor","_jsx","CardHeader","UploadProgress","undefined","CardBody","CardContent","Box","paddingTop","Typography","tag","CardTitle","name","CardSubtitle","ext","grow","CardBadge","variant","fontWeight","textColor","message"],"mappings":"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"}
|