@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":"EditAssetContent.js","sources":["../../../../admin/src/components/EditAssetDialog/EditAssetContent.tsx"],"sourcesContent":["/**\n *\n * EditAssetDialog\n *\n */\nimport * as React from 'react';\n\nimport {\n Button,\n Field,\n Flex,\n Grid,\n Loader,\n Modal,\n TextInput,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useEditAsset } from '../../hooks/useEditAsset';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { useTracking } from '../../hooks/useTracking';\nimport { findRecursiveFolderByValue, getTrad, getFileExtension, formatBytes } from '../../utils';\nimport { ContextInfo } from '../ContextInfo/ContextInfo';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport { DialogHeader } from './DialogHeader';\nimport { PreviewBox } from './PreviewBox/PreviewBox';\nimport { ReplaceMediaButton } from './ReplaceMediaButton';\n\nimport type {\n File as FileDefinition,\n RawFile,\n FocalPoint,\n} from '../../../../shared/contracts/files';\n\nconst LoadingBody = styled(Flex)`\n /* 80px are coming from the Tabs component that is not included in the ModalBody */\n min-height: ${() => `calc(60dvh + 8rem)`};\n`;\n\nconst focalPointSchema = yup\n .object({\n x: yup.number().min(0).max(100).required(),\n y: yup.number().min(0).max(100).required(),\n })\n .nullable()\n .default(null);\n\nconst fileInfoSchema = yup.object({\n name: yup.string().required(),\n alternativeText: yup.string(),\n caption: yup.string(),\n focalPoint: focalPointSchema,\n folder: yup.number(),\n});\n\nexport interface Asset extends Omit<FileDefinition, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: FileDefinition['folder'] & { id: number };\n}\n\ninterface EditAssetContentProps {\n asset?: Asset;\n initialFolderId?: string | number | null;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n onClose: (arg?: Asset | null | boolean) => void;\n omitFields?: ('caption' | 'alternativeText')[];\n omitActions?: 'replace'[];\n}\n\ninterface FormInitialData {\n name?: string;\n alternativeText?: string;\n caption?: string;\n focalPoint?: FocalPoint | null;\n parent?: {\n value?: number;\n label: string;\n };\n}\n\nconst toFolderId = (value: string | number | null | undefined): number | undefined => {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : undefined;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n};\n\nexport const EditAssetContent = ({\n onClose,\n asset,\n initialFolderId = null,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n trackedLocation,\n omitFields = [],\n omitActions = [],\n}: EditAssetContentProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { trackUsage } = useTracking();\n const submitButtonRef = React.useRef<HTMLButtonElement>(null);\n const [isCropping, setIsCropping] = React.useState(false);\n const [isFocalPointMode, setIsFocalPointMode] = React.useState(false);\n const [replacementFile, setReplacementFile] = React.useState<File | undefined>();\n const { editAsset, isLoading } = useEditAsset();\n\n const { data: folderStructure, isLoading: folderStructureIsLoading } = useFolderStructure({\n enabled: true,\n });\n\n const handleSubmit = async (values: FormInitialData) => {\n const nextAsset = { ...asset, ...values, folder: values.parent?.value } as Asset;\n\n if (asset?.isLocal) {\n onClose(nextAsset);\n } else {\n const editedAsset = (await editAsset(nextAsset, replacementFile!)) as Asset;\n\n const assetType = asset?.mime?.split('/')[0];\n // if the folder parent was the root of Media Library, its id is null\n // we know it changed location if the new parent value exists\n const didChangeLocation = asset?.folder?.id\n ? asset.folder.id !== values.parent?.value\n : asset?.folder === null && !!values.parent?.value;\n\n trackUsage('didEditMediaLibraryElements', {\n location: trackedLocation,\n type: assetType,\n changeLocation: didChangeLocation,\n });\n\n onClose(editedAsset);\n }\n };\n\n const handleStartCropping = () => {\n setIsCropping(true);\n };\n\n const handleCancelCropping = () => {\n setIsCropping(false);\n };\n\n const handleFinishCropping = () => {\n setIsCropping(false);\n onClose();\n };\n\n const handleFocalPointStart = () => {\n setIsFocalPointMode(true);\n };\n\n const handleFocalPointCancel = () => {\n setIsFocalPointMode(false);\n };\n\n const formDisabled = !canUpdate || isCropping || isFocalPointMode;\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n };\n\n const activeFolderId = asset?.folder?.id ?? toFolderId(initialFolderId);\n const initialFormData = !folderStructureIsLoading && {\n name: asset?.name,\n alternativeText: asset?.alternativeText ?? undefined,\n caption: asset?.caption ?? undefined,\n focalPoint: asset?.focalPoint ?? null,\n parent: {\n value: activeFolderId ?? undefined,\n label:\n findRecursiveFolderByValue(folderStructure!, activeFolderId!)?.label ??\n folderStructure![0].label,\n },\n };\n\n const handleClose = (values?: { [key: string]: unknown }) => {\n if (!isEqual(initialFormData, values)) {\n handleConfirmClose();\n } else {\n onClose();\n }\n };\n\n if (folderStructureIsLoading) {\n return (\n <>\n <DialogHeader />\n <LoadingBody minHeight=\"60vh\" justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </LoadingBody>\n <Modal.Footer>\n <Button onClick={() => handleClose()} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n }\n\n return (\n <Formik\n validationSchema={fileInfoSchema}\n validateOnChange={false}\n onSubmit={handleSubmit}\n initialValues={initialFormData}\n >\n {({ values, errors, handleChange, setFieldValue }) => (\n <>\n <DialogHeader />\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <PreviewBox\n asset={asset!}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n onDelete={onClose}\n onCropFinish={handleFinishCropping}\n onCropStart={handleStartCropping}\n onCropCancel={handleCancelCropping}\n replacementFile={replacementFile}\n trackedLocation={trackedLocation}\n formFocalPoint={values.focalPoint}\n onFocalPointStart={handleFocalPointStart}\n onFocalPointFinish={(focalPoint) => {\n setIsFocalPointMode(false);\n setFieldValue('focalPoint', focalPoint);\n }}\n onFocalPointCancel={handleFocalPointCancel}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Form noValidate>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <ContextInfo\n blocks={[\n {\n label: formatMessage({\n id: getTrad('modal.file-details.size'),\n defaultMessage: 'Size',\n }),\n value: formatBytes(asset?.size ? asset.size : 0),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.dimensions'),\n defaultMessage: 'Dimensions',\n }),\n value:\n asset?.height && asset.width ? `${asset.width}✕${asset.height}` : null,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.date'),\n defaultMessage: 'Date',\n }),\n value: formatDate(new Date(asset?.createdAt ? asset.createdAt : '')),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.extension'),\n defaultMessage: 'Extension',\n }),\n value: getFileExtension(asset?.ext)!,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.id'),\n defaultMessage: 'Asset ID',\n }),\n value: asset?.id ? asset.id : null,\n },\n\n ...(values.focalPoint\n ? [\n {\n label: formatMessage({\n id: getTrad('modal.file-details.focal-point'),\n defaultMessage: 'Focal point',\n }),\n value: `x: ${values.focalPoint.x}% - y: ${values.focalPoint.y}%`,\n },\n ]\n : []),\n ]}\n />\n <Field.Root name=\"name\" error={errors.name}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-name'),\n defaultMessage: 'File name',\n })}\n </Field.Label>\n <TextInput\n value={values.name}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n\n {!omitFields?.includes('alternativeText') && (\n <Field.Root\n name=\"alternativeText\"\n hint={formatMessage({\n id: getTrad('form.input.description.file-alt'),\n defaultMessage:\n 'This text will be displayed if the asset can’t be shown.',\n })}\n error={errors.alternativeText}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-alt'),\n defaultMessage: 'Alternative text',\n })}\n </Field.Label>\n <TextInput\n value={values.alternativeText}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n )}\n\n {!omitFields?.includes('caption') && (\n <Field.Root name=\"caption\" error={errors.caption}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-caption'),\n defaultMessage: 'Caption',\n })}\n </Field.Label>\n <TextInput\n value={values.caption}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n </Field.Root>\n )}\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Root name=\"parent\" id=\"asset-folder\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n name=\"parent\"\n defaultValue={values.parent}\n options={folderStructure!}\n onChange={(value) => {\n setFieldValue('parent', value);\n }}\n menuPortalTarget={document.querySelector('body')}\n inputId=\"asset-folder\"\n isDisabled={formDisabled}\n error={errors?.parent}\n ariaErrorMessage=\"folder-parent-error\"\n />\n </Field.Root>\n </Flex>\n </Flex>\n\n <VisuallyHidden>\n <button\n type=\"submit\"\n tabIndex={-1}\n ref={submitButtonRef}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'submit', defaultMessage: 'Submit' })}\n </button>\n </VisuallyHidden>\n </Form>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={() => handleClose({ ...values })} variant=\"tertiary\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Flex gap={2}>\n {!omitActions?.includes('replace') && (\n <ReplaceMediaButton\n onSelectMedia={setReplacementFile}\n acceptedMime={asset?.mime ?? ''}\n disabled={formDisabled}\n trackedLocation={trackedLocation}\n />\n )}\n\n <Button\n onClick={() => submitButtonRef.current?.click()}\n loading={isLoading}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </Modal.Footer>\n </>\n )}\n </Formik>\n );\n};\n\ninterface EditAssetDialogProps {\n asset: Asset;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n open: boolean;\n onClose: (arg?: Asset | null | boolean) => void;\n}\n\nexport const EditAssetDialog = ({\n open,\n onClose,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n ...restProps\n}: EditAssetDialogProps) => {\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <Modal.Content>\n <EditAssetContent\n onClose={onClose}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n {...restProps}\n />\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["LoadingBody","styled","Flex","focalPointSchema","yup","object","x","number","min","max","required","y","nullable","default","fileInfoSchema","name","string","alternativeText","caption","focalPoint","folder","toFolderId","value","undefined","Number","isFinite","parsed","EditAssetContent","onClose","asset","initialFolderId","canUpdate","canCopyLink","canDownload","trackedLocation","omitFields","omitActions","formatMessage","formatDate","useIntl","trackUsage","useTracking","submitButtonRef","React","useRef","isCropping","setIsCropping","useState","isFocalPointMode","setIsFocalPointMode","replacementFile","setReplacementFile","editAsset","isLoading","useEditAsset","data","folderStructure","folderStructureIsLoading","useFolderStructure","enabled","handleSubmit","values","nextAsset","parent","isLocal","editedAsset","assetType","mime","split","didChangeLocation","id","location","type","changeLocation","handleStartCropping","handleCancelCropping","handleFinishCropping","handleFocalPointStart","handleFocalPointCancel","formDisabled","handleConfirmClose","confirm","window","defaultMessage","activeFolderId","initialFormData","label","findRecursiveFolderByValue","handleClose","isEqual","_jsxs","_Fragment","_jsx","DialogHeader","minHeight","justifyContent","paddingTop","paddingBottom","Loader","getTrad","Modal","Footer","Button","onClick","variant","Formik","validationSchema","validateOnChange","onSubmit","initialValues","errors","handleChange","setFieldValue","Body","Grid","Root","gap","Item","xs","col","direction","alignItems","PreviewBox","onDelete","onCropFinish","onCropStart","onCropCancel","formFocalPoint","onFocalPointStart","onFocalPointFinish","onFocalPointCancel","Form","noValidate","ContextInfo","blocks","formatBytes","size","height","width","Date","createdAt","getFileExtension","ext","Field","error","Label","TextInput","onChange","disabled","Error","includes","hint","Hint","SelectTree","defaultValue","options","menuPortalTarget","document","querySelector","inputId","isDisabled","ariaErrorMessage","VisuallyHidden","button","tabIndex","ref","ReplaceMediaButton","onSelectMedia","acceptedMime","current","click","loading","EditAssetDialog","open","restProps","onOpenChange","Content"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,iBAAAA,CAAK;;AAElB,cAAA,EAAE,IAAM,CAAC,kBAAkB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAMC,gBAAAA,GAAmBC,cAAAA,CACtBC,MAAM,CAAC;IACNC,CAAAA,EAAGF,cAAAA,CAAIG,MAAM,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA,CAAGC,GAAG,CAAC,GAAA,CAAA,CAAKC,QAAQ,EAAA;IACxCC,CAAAA,EAAGP,cAAAA,CAAIG,MAAM,EAAA,CAAGC,GAAG,CAAC,CAAA,CAAA,CAAGC,GAAG,CAAC,GAAA,CAAA,CAAKC,QAAQ;AAC1C,CAAA,CAAA,CACCE,QAAQ,EAAA,CACRC,OAAO,CAAC,IAAA,CAAA;AAEX,MAAMC,cAAAA,GAAiBV,cAAAA,CAAIC,MAAM,CAAC;IAChCU,IAAAA,EAAMX,cAAAA,CAAIY,MAAM,EAAA,CAAGN,QAAQ,EAAA;AAC3BO,IAAAA,eAAAA,EAAiBb,eAAIY,MAAM,EAAA;AAC3BE,IAAAA,OAAAA,EAASd,eAAIY,MAAM,EAAA;IACnBG,UAAAA,EAAYhB,gBAAAA;AACZiB,IAAAA,MAAAA,EAAQhB,eAAIG,MAAM;AACpB,CAAA,CAAA;AA+BA,MAAMc,aAAa,CAACC,KAAAA,GAAAA;IAClB,IAAIA,KAAAA,KAAU,IAAA,IAAQA,KAAAA,KAAUC,SAAAA,EAAW;QACzC,OAAOA,SAAAA;AACT,IAAA;IAEA,IAAI,OAAOD,UAAU,QAAA,EAAU;AAC7B,QAAA,OAAOE,MAAAA,CAAOC,QAAQ,CAACH,KAAAA,CAAAA,GAASA,KAAAA,GAAQC,SAAAA;AAC1C,IAAA;AAEA,IAAA,MAAMG,SAASF,MAAAA,CAAOF,KAAAA,CAAAA;AACtB,IAAA,OAAOE,MAAAA,CAAOC,QAAQ,CAACC,MAAAA,CAAAA,GAAUA,MAAAA,GAASH,SAAAA;AAC5C,CAAA;AAEO,MAAMI,gBAAAA,GAAmB,CAAC,EAC/BC,OAAO,EACPC,KAAK,EACLC,eAAAA,GAAkB,IAAI,EACtBC,SAAAA,GAAY,KAAK,EACjBC,WAAAA,GAAc,KAAK,EACnBC,WAAAA,GAAc,KAAK,EACnBC,eAAe,EACfC,UAAAA,GAAa,EAAE,EACfC,WAAAA,GAAc,EAAE,EACM,GAAA;AACtB,IAAA,MAAM,EAAEC,aAAa,EAAEC,UAAU,EAAE,GAAGC,iBAAAA,EAAAA;IACtC,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;IACvB,MAAMC,eAAAA,GAAkBC,gBAAAA,CAAMC,MAAM,CAAoB,IAAA,CAAA;AACxD,IAAA,MAAM,CAACC,UAAAA,EAAYC,aAAAA,CAAc,GAAGH,gBAAAA,CAAMI,QAAQ,CAAC,KAAA,CAAA;AACnD,IAAA,MAAM,CAACC,gBAAAA,EAAkBC,mBAAAA,CAAoB,GAAGN,gBAAAA,CAAMI,QAAQ,CAAC,KAAA,CAAA;AAC/D,IAAA,MAAM,CAACG,eAAAA,EAAiBC,kBAAAA,CAAmB,GAAGR,iBAAMI,QAAQ,EAAA;AAC5D,IAAA,MAAM,EAAEK,SAAS,EAAEC,SAAS,EAAE,GAAGC,yBAAAA,EAAAA;IAEjC,MAAM,EAAEC,MAAMC,eAAe,EAAEH,WAAWI,wBAAwB,EAAE,GAAGC,qCAAAA,CAAmB;QACxFC,OAAAA,EAAS;AACX,KAAA,CAAA;AAEA,IAAA,MAAMC,eAAe,OAAOC,MAAAA,GAAAA;AAC1B,QAAA,MAAMC,SAAAA,GAAY;AAAE,YAAA,GAAGjC,KAAK;AAAE,YAAA,GAAGgC,MAAM;YAAEzC,MAAAA,EAAQyC,MAAAA,CAAOE,MAAM,EAAEzC;AAAM,SAAA;AAEtE,QAAA,IAAIO,OAAOmC,OAAAA,EAAS;YAClBpC,OAAAA,CAAQkC,SAAAA,CAAAA;QACV,CAAA,MAAO;YACL,MAAMG,WAAAA,GAAe,MAAMb,SAAAA,CAAUU,SAAAA,EAAWZ,eAAAA,CAAAA;AAEhD,YAAA,MAAMgB,YAAYrC,KAAAA,EAAOsC,IAAAA,EAAMC,KAAAA,CAAM,GAAA,CAAI,CAAC,CAAA,CAAE;;;YAG5C,MAAMC,iBAAAA,GAAoBxC,OAAOT,MAAAA,EAAQkD,EAAAA,GACrCzC,MAAMT,MAAM,CAACkD,EAAE,KAAKT,MAAAA,CAAOE,MAAM,EAAEzC,KAAAA,GACnCO,OAAOT,MAAAA,KAAW,IAAA,IAAQ,CAAC,CAACyC,MAAAA,CAAOE,MAAM,EAAEzC,KAAAA;AAE/CkB,YAAAA,UAAAA,CAAW,6BAAA,EAA+B;gBACxC+B,QAAAA,EAAUrC,eAAAA;gBACVsC,IAAAA,EAAMN,SAAAA;gBACNO,cAAAA,EAAgBJ;AAClB,aAAA,CAAA;YAEAzC,OAAAA,CAAQqC,WAAAA,CAAAA;AACV,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMS,mBAAAA,GAAsB,IAAA;QAC1B5B,aAAAA,CAAc,IAAA,CAAA;AAChB,IAAA,CAAA;AAEA,IAAA,MAAM6B,oBAAAA,GAAuB,IAAA;QAC3B7B,aAAAA,CAAc,KAAA,CAAA;AAChB,IAAA,CAAA;AAEA,IAAA,MAAM8B,oBAAAA,GAAuB,IAAA;QAC3B9B,aAAAA,CAAc,KAAA,CAAA;AACdlB,QAAAA,OAAAA,EAAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMiD,qBAAAA,GAAwB,IAAA;QAC5B5B,mBAAAA,CAAoB,IAAA,CAAA;AACtB,IAAA,CAAA;AAEA,IAAA,MAAM6B,sBAAAA,GAAyB,IAAA;QAC7B7B,mBAAAA,CAAoB,KAAA,CAAA;AACtB,IAAA,CAAA;IAEA,MAAM8B,YAAAA,GAAe,CAAChD,SAAAA,IAAac,UAAAA,IAAcG,gBAAAA;AAEjD,IAAA,MAAMgC,kBAAAA,GAAqB,IAAA;;AAEzB,QAAA,MAAMC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAC5B5C,aAAAA,CAAc;YACZiC,EAAAA,EAAI,iCAAA;YACJa,cAAAA,EAAgB;AAClB,SAAA,CAAA,CAAA;AAGF,QAAA,IAAIF,OAAAA,EAAS;AACXrD,YAAAA,OAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,MAAMwD,cAAAA,GAAiBvD,KAAAA,EAAOT,MAAAA,EAAQkD,EAAAA,IAAMjD,UAAAA,CAAWS,eAAAA,CAAAA;IACvD,MAAMuD,eAAAA,GAAkB,CAAC5B,wBAAAA,IAA4B;AACnD1C,QAAAA,IAAAA,EAAMc,KAAAA,EAAOd,IAAAA;AACbE,QAAAA,eAAAA,EAAiBY,OAAOZ,eAAAA,IAAmBM,SAAAA;AAC3CL,QAAAA,OAAAA,EAASW,OAAOX,OAAAA,IAAWK,SAAAA;AAC3BJ,QAAAA,UAAAA,EAAYU,OAAOV,UAAAA,IAAc,IAAA;QACjC4C,MAAAA,EAAQ;AACNzC,YAAAA,KAAAA,EAAO8D,cAAAA,IAAkB7D,SAAAA;YACzB+D,KAAAA,EACEC,qDAAAA,CAA2B/B,iBAAkB4B,cAAAA,CAAAA,EAAkBE,KAAAA,IAC/D9B,eAAgB,CAAC,CAAA,CAAE,CAAC8B;AACxB;AACF,KAAA;AAEA,IAAA,MAAME,cAAc,CAAC3B,MAAAA,GAAAA;QACnB,IAAI,CAAC4B,OAAAA,CAAQJ,eAAAA,EAAiBxB,MAAAA,CAAAA,EAAS;AACrCmB,YAAAA,kBAAAA,EAAAA;QACF,CAAA,MAAO;AACLpD,YAAAA,OAAAA,EAAAA;AACF,QAAA;AACF,IAAA,CAAA;AAEA,IAAA,IAAI6B,wBAAAA,EAA0B;QAC5B,qBACEiC,eAAA,CAAAC,mBAAA,EAAA;;8BACEC,cAAA,CAACC,yBAAAA,EAAAA,EAAAA,CAAAA;8BACDD,cAAA,CAAC5F,WAAAA,EAAAA;oBAAY8F,SAAAA,EAAU,MAAA;oBAAOC,cAAAA,EAAe,QAAA;oBAASC,UAAAA,EAAY,CAAA;oBAAGC,aAAAA,EAAe,CAAA;AAClF,oBAAA,QAAA,gBAAAL,cAAA,CAACM,mBAAAA,EAAAA;kCACE7D,aAAAA,CAAc;AACbiC,4BAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,mBAAA,CAAA;4BACZhB,cAAAA,EAAgB;AAClB,yBAAA;;;AAGJ,8BAAAS,cAAA,CAACQ,mBAAMC,MAAM,EAAA;AACX,oBAAA,QAAA,gBAAAT,cAAA,CAACU,mBAAAA,EAAAA;AAAOC,wBAAAA,OAAAA,EAAS,IAAMf,WAAAA,EAAAA;wBAAegB,OAAAA,EAAQ,UAAA;kCAC3CnE,aAAAA,CAAc;4BAAEiC,EAAAA,EAAI,QAAA;4BAAUa,cAAAA,EAAgB;AAAS,yBAAA;;;;;AAKlE,IAAA;AAEA,IAAA,qBACES,cAAA,CAACa,aAAAA,EAAAA;QACCC,gBAAAA,EAAkB5F,cAAAA;QAClB6F,gBAAAA,EAAkB,KAAA;QAClBC,QAAAA,EAAUhD,YAAAA;QACViD,aAAAA,EAAexB,eAAAA;kBAEd,CAAC,EAAExB,MAAM,EAAEiD,MAAM,EAAEC,YAAY,EAAEC,aAAa,EAAE,iBAC/CtB,eAAA,CAAAC,mBAAA,EAAA;;kCACEC,cAAA,CAACC,yBAAAA,EAAAA,EAAAA,CAAAA;AACD,kCAAAD,cAAA,CAACQ,mBAAMa,IAAI,EAAA;gDACTvB,eAAA,CAACwB,kBAAKC,IAAI,EAAA;4BAACC,GAAAA,EAAK,CAAA;;AACd,8CAAAxB,cAAA,CAACsB,kBAAKG,IAAI,EAAA;oCAACC,EAAAA,EAAI,EAAA;oCAAIC,GAAAA,EAAK,CAAA;oCAAGC,SAAAA,EAAU,QAAA;oCAASC,UAAAA,EAAW,SAAA;AACvD,oCAAA,QAAA,gBAAA7B,cAAA,CAAC8B,qBAAAA,EAAAA;wCACC7F,KAAAA,EAAOA,KAAAA;wCACPE,SAAAA,EAAWA,SAAAA;wCACXC,WAAAA,EAAaA,WAAAA;wCACbC,WAAAA,EAAaA,WAAAA;wCACb0F,QAAAA,EAAU/F,OAAAA;wCACVgG,YAAAA,EAAchD,oBAAAA;wCACdiD,WAAAA,EAAanD,mBAAAA;wCACboD,YAAAA,EAAcnD,oBAAAA;wCACdzB,eAAAA,EAAiBA,eAAAA;wCACjBhB,eAAAA,EAAiBA,eAAAA;AACjB6F,wCAAAA,cAAAA,EAAgBlE,OAAO1C,UAAU;wCACjC6G,iBAAAA,EAAmBnD,qBAAAA;AACnBoD,wCAAAA,kBAAAA,EAAoB,CAAC9G,UAAAA,GAAAA;4CACnB8B,mBAAAA,CAAoB,KAAA,CAAA;AACpB+D,4CAAAA,aAAAA,CAAc,YAAA,EAAc7F,UAAAA,CAAAA;AAC9B,wCAAA,CAAA;wCACA+G,kBAAAA,EAAoBpD;;;AAGxB,8CAAAc,cAAA,CAACsB,kBAAKG,IAAI,EAAA;oCAACC,EAAAA,EAAI,EAAA;oCAAIC,GAAAA,EAAK,CAAA;oCAAGC,SAAAA,EAAU,QAAA;oCAASC,UAAAA,EAAW,SAAA;AACvD,oCAAA,QAAA,gBAAA/B,eAAA,CAACyC,WAAAA,EAAAA;wCAAKC,UAAU,EAAA,IAAA;;0DACd1C,eAAA,CAACxF,iBAAAA,EAAAA;gDAAKsH,SAAAA,EAAU,QAAA;gDAASC,UAAAA,EAAW,SAAA;gDAAUL,GAAAA,EAAK,CAAA;;kEACjDxB,cAAA,CAACyC,uBAAAA,EAAAA;wDACCC,MAAAA,EAAQ;AACN,4DAAA;AACEhD,gEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,yBAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA,CAAA;AACA7D,gEAAAA,KAAAA,EAAOiH,uBAAAA,CAAY1G,KAAAA,EAAO2G,IAAAA,GAAO3G,KAAAA,CAAM2G,IAAI,GAAG,CAAA;AAChD,6DAAA;AAEA,4DAAA;AACElD,gEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,+BAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA,CAAA;AACA7D,gEAAAA,KAAAA,EACEO,KAAAA,EAAO4G,MAAAA,IAAU5G,KAAAA,CAAM6G,KAAK,GAAG,CAAA,EAAG7G,KAAAA,CAAM6G,KAAK,CAAC,CAAC,EAAE7G,KAAAA,CAAM4G,MAAM,EAAE,GAAG;AACtE,6DAAA;AAEA,4DAAA;AACEnD,gEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,yBAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA,CAAA;AACA7D,gEAAAA,KAAAA,EAAOgB,WAAW,IAAIqG,IAAAA,CAAK9G,OAAO+G,SAAAA,GAAY/G,KAAAA,CAAM+G,SAAS,GAAG,EAAA,CAAA;AAClE,6DAAA;AAEA,4DAAA;AACEtD,gEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,8BAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA,CAAA;AACA7D,gEAAAA,KAAAA,EAAOuH,kCAAiBhH,KAAAA,EAAOiH,GAAAA;AACjC,6DAAA;AAEA,4DAAA;AACExD,gEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,uBAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA,CAAA;AACA7D,gEAAAA,KAAAA,EAAOO,KAAAA,EAAOyC,EAAAA,GAAKzC,KAAAA,CAAMyC,EAAE,GAAG;AAChC,6DAAA;AAEIT,4DAAAA,GAAAA,MAAAA,CAAO1C,UAAU,GACjB;AACE,gEAAA;AACEmE,oEAAAA,KAAAA,EAAOjD,aAAAA,CAAc;AACnBiC,wEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,gCAAA,CAAA;wEACZhB,cAAAA,EAAgB;AAClB,qEAAA,CAAA;AACA7D,oEAAAA,KAAAA,EAAO,CAAC,GAAG,EAAEuC,MAAAA,CAAO1C,UAAU,CAACb,CAAC,CAAC,OAAO,EAAEuD,OAAO1C,UAAU,CAACR,CAAC,CAAC,CAAC;AACjE;AACD,6DAAA,GACD;AACL;;AAEH,kEAAA+E,eAAA,CAACqD,mBAAM5B,IAAI,EAAA;wDAACpG,IAAAA,EAAK,MAAA;AAAOiI,wDAAAA,KAAAA,EAAOlC,OAAO/F,IAAI;;AACxC,0EAAA6E,cAAA,CAACmD,mBAAME,KAAK,EAAA;0EACT5G,aAAAA,CAAc;AACbiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,4BAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFS,cAAA,CAACsD,sBAAAA,EAAAA;AACC5H,gEAAAA,KAAAA,EAAOuC,OAAO9C,IAAI;gEAClBoI,QAAAA,EAAUpC,YAAAA;gEACVqC,QAAAA,EAAUrE,YAAAA;gEACVP,IAAAA,EAAK;;AAEP,0EAAAoB,cAAA,CAACmD,mBAAMM,KAAK,EAAA,EAAA;;;AAGb,oDAAA,CAAClH,UAAAA,EAAYmH,QAAAA,CAAS,iBAAA,CAAA,kBACrB5D,eAAA,CAACqD,mBAAM5B,IAAI,EAAA;wDACTpG,IAAAA,EAAK,iBAAA;AACLwI,wDAAAA,IAAAA,EAAMlH,aAAAA,CAAc;AAClBiC,4DAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,iCAAA,CAAA;4DACZhB,cAAAA,EACE;AACJ,yDAAA,CAAA;AACA6D,wDAAAA,KAAAA,EAAOlC,OAAO7F,eAAe;;AAE7B,0EAAA2E,cAAA,CAACmD,mBAAME,KAAK,EAAA;0EACT5G,aAAAA,CAAc;AACbiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,2BAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFS,cAAA,CAACsD,sBAAAA,EAAAA;AACC5H,gEAAAA,KAAAA,EAAOuC,OAAO5C,eAAe;gEAC7BkI,QAAAA,EAAUpC,YAAAA;gEACVqC,QAAAA,EAAUrE,YAAAA;gEACVP,IAAAA,EAAK;;AAEP,0EAAAoB,cAAA,CAACmD,mBAAMS,IAAI,EAAA,EAAA,CAAA;AACX,0EAAA5D,cAAA,CAACmD,mBAAMM,KAAK,EAAA,EAAA;;;AAIf,oDAAA,CAAClH,UAAAA,EAAYmH,QAAAA,CAAS,SAAA,CAAA,kBACrB5D,eAAA,CAACqD,mBAAM5B,IAAI,EAAA;wDAACpG,IAAAA,EAAK,SAAA;AAAUiI,wDAAAA,KAAAA,EAAOlC,OAAO5F,OAAO;;AAC9C,0EAAA0E,cAAA,CAACmD,mBAAME,KAAK,EAAA;0EACT5G,aAAAA,CAAc;AACbiC,oEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,+BAAA,CAAA;oEACZhB,cAAAA,EAAgB;AAClB,iEAAA;;0EAEFS,cAAA,CAACsD,sBAAAA,EAAAA;AACC5H,gEAAAA,KAAAA,EAAOuC,OAAO3C,OAAO;gEACrBiI,QAAAA,EAAUpC,YAAAA;gEACVqC,QAAAA,EAAUrE,YAAAA;gEACVP,IAAAA,EAAK;;;;kEAKXoB,cAAA,CAAC1F,iBAAAA,EAAAA;wDAAKsH,SAAAA,EAAU,QAAA;wDAASC,UAAAA,EAAW,SAAA;wDAAUL,GAAAA,EAAK,CAAA;gFACjD1B,eAAA,CAACqD,mBAAM5B,IAAI,EAAA;4DAACpG,IAAAA,EAAK,QAAA;4DAASuD,EAAAA,EAAG,cAAA;;AAC3B,8EAAAsB,cAAA,CAACmD,mBAAME,KAAK,EAAA;8EACT5G,aAAAA,CAAc;AACbiC,wEAAAA,EAAAA,EAAI6B,eAAAA,CAAQ,gCAAA,CAAA;wEACZhB,cAAAA,EAAgB;AAClB,qEAAA;;8EAGFS,cAAA,CAAC6D,qBAAAA,EAAAA;oEACC1I,IAAAA,EAAK,QAAA;AACL2I,oEAAAA,YAAAA,EAAc7F,OAAOE,MAAM;oEAC3B4F,OAAAA,EAASnG,eAAAA;AACT2F,oEAAAA,QAAAA,EAAU,CAAC7H,KAAAA,GAAAA;AACT0F,wEAAAA,aAAAA,CAAc,QAAA,EAAU1F,KAAAA,CAAAA;AAC1B,oEAAA,CAAA;oEACAsI,gBAAAA,EAAkBC,QAAAA,CAASC,aAAa,CAAC,MAAA,CAAA;oEACzCC,OAAAA,EAAQ,cAAA;oEACRC,UAAAA,EAAYjF,YAAAA;AACZiE,oEAAAA,KAAAA,EAAOlC,MAAAA,EAAQ/C,MAAAA;oEACfkG,gBAAAA,EAAiB;;;;;;;0DAMzBrE,cAAA,CAACsE,2BAAAA,EAAAA;AACC,gDAAA,QAAA,gBAAAtE,cAAA,CAACuE,QAAAA,EAAAA;oDACC3F,IAAAA,EAAK,QAAA;AACL4F,oDAAAA,QAAAA,EAAU,EAAC;oDACXC,GAAAA,EAAK3H,eAAAA;oDACL0G,QAAAA,EAAUrE,YAAAA;8DAET1C,aAAAA,CAAc;wDAAEiC,EAAAA,EAAI,QAAA;wDAAUa,cAAAA,EAAgB;AAAS,qDAAA;;;;;;;;;AAOpE,kCAAAO,eAAA,CAACU,mBAAMC,MAAM,EAAA;;0CACXT,cAAA,CAACU,mBAAAA,EAAAA;AAAOC,gCAAAA,OAAAA,EAAS,IAAMf,WAAAA,CAAY;AAAE,wCAAA,GAAG3B;AAAO,qCAAA,CAAA;gCAAI2C,OAAAA,EAAQ,UAAA;0CACxDnE,aAAAA,CAAc;oCAAEiC,EAAAA,EAAI,eAAA;oCAAiBa,cAAAA,EAAgB;AAAS,iCAAA;;0CAEjEO,eAAA,CAACxF,iBAAAA,EAAAA;gCAAKkH,GAAAA,EAAK,CAAA;;oCACR,CAAChF,WAAAA,EAAakH,QAAAA,CAAS,SAAA,CAAA,kBACtB1D,cAAA,CAAC0E,qCAAAA,EAAAA;wCACCC,aAAAA,EAAepH,kBAAAA;AACfqH,wCAAAA,YAAAA,EAAc3I,OAAOsC,IAAAA,IAAQ,EAAA;wCAC7BiF,QAAAA,EAAUrE,YAAAA;wCACV7C,eAAAA,EAAiBA;;kDAIrB0D,cAAA,CAACU,mBAAAA,EAAAA;wCACCC,OAAAA,EAAS,IAAM7D,eAAAA,CAAgB+H,OAAO,EAAEC,KAAAA,EAAAA;wCACxCC,OAAAA,EAAStH,SAAAA;wCACT+F,QAAAA,EAAUrE,YAAAA;kDAET1C,aAAAA,CAAc;4CAAEiC,EAAAA,EAAI,eAAA;4CAAiBa,cAAAA,EAAgB;AAAS,yCAAA;;;;;;;;;AAQ/E;MAYayF,eAAAA,GAAkB,CAAC,EAC9BC,IAAI,EACJjJ,OAAO,EACPG,SAAAA,GAAY,KAAK,EACjBC,cAAc,KAAK,EACnBC,cAAc,KAAK,EACnB,GAAG6I,SAAAA,EACkB,GAAA;IACrB,qBACElF,cAAA,CAACQ,mBAAMe,IAAI,EAAA;QAAC0D,IAAAA,EAAMA,IAAAA;QAAME,YAAAA,EAAcnJ,OAAAA;gCACpCgE,cAAA,CAACQ,mBAAM4E,OAAO,EAAA;AACZ,YAAA,QAAA,gBAAApF,cAAA,CAACjE,gBAAAA,EAAAA;gBACCC,OAAAA,EAASA,OAAAA;gBACTG,SAAAA,EAAWA,SAAAA;gBACXC,WAAAA,EAAaA,WAAAA;gBACbC,WAAAA,EAAaA,WAAAA;AACZ,gBAAA,GAAG6I;;;;AAKd;;;;;"}
|
|
1
|
+
{"version":3,"file":"EditAssetContent.js","sources":["../../../../admin/src/components/EditAssetDialog/EditAssetContent.tsx"],"sourcesContent":["/**\n *\n * EditAssetDialog\n *\n */\nimport * as React from 'react';\n\nimport {\n Button,\n Field,\n Flex,\n Grid,\n Loader,\n Modal,\n TextInput,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useEditAsset } from '../../hooks/useEditAsset';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { useTracking } from '../../hooks/useTracking';\nimport { findRecursiveFolderByValue, getTrad, getFileExtension, formatBytes } from '../../utils';\nimport { ContextInfo } from '../ContextInfo/ContextInfo';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport { DialogHeader } from './DialogHeader';\nimport { PreviewBox } from './PreviewBox/PreviewBox';\nimport { ReplaceMediaButton } from './ReplaceMediaButton';\n\nimport type {\n File as FileDefinition,\n RawFile,\n FocalPoint,\n} from '../../../../shared/contracts/files';\n\nconst LoadingBody = styled(Flex)`\n /* 80px are coming from the Tabs component that is not included in the ModalBody */\n min-height: ${() => `calc(60dvh + 8rem)`};\n`;\n\nconst focalPointSchema = yup\n .object({\n x: yup.number().min(0).max(100).required(),\n y: yup.number().min(0).max(100).required(),\n })\n .nullable()\n .default(null);\n\nconst fileInfoSchema = yup.object({\n name: yup.string().required(),\n alternativeText: yup.string(),\n caption: yup.string(),\n focalPoint: focalPointSchema,\n folder: yup.number(),\n});\n\nexport interface Asset extends Omit<FileDefinition, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: FileDefinition['folder'] & { id: number };\n}\n\ninterface EditAssetContentProps {\n asset?: Asset;\n initialFolderId?: string | number | null;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n onClose: (arg?: Asset | null | boolean) => void;\n omitFields?: ('caption' | 'alternativeText')[];\n omitActions?: 'replace'[];\n}\n\ninterface FormInitialData {\n name?: string;\n alternativeText?: string;\n caption?: string;\n focalPoint?: FocalPoint | null;\n parent?: {\n value?: number;\n label: string;\n };\n}\n\nconst toFolderId = (value: string | number | null | undefined): number | undefined => {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : undefined;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n};\n\nexport const EditAssetContent = ({\n onClose,\n asset,\n initialFolderId = null,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n trackedLocation,\n omitFields = [],\n omitActions = [],\n}: EditAssetContentProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { trackUsage } = useTracking();\n const submitButtonRef = React.useRef<HTMLButtonElement>(null);\n const [isCropping, setIsCropping] = React.useState(false);\n const [isFocalPointMode, setIsFocalPointMode] = React.useState(false);\n const [replacementFile, setReplacementFile] = React.useState<File | undefined>();\n const { editAsset, isLoading } = useEditAsset();\n\n const { data: folderStructure, isLoading: folderStructureIsLoading } = useFolderStructure({\n enabled: true,\n });\n\n const handleSubmit = async (values: FormInitialData) => {\n const nextAsset = { ...asset, ...values, folder: values.parent?.value } as Asset;\n\n if (asset?.isLocal) {\n onClose(nextAsset);\n } else {\n const editedAsset = (await editAsset(nextAsset, replacementFile!)) as Asset;\n\n const assetType = asset?.mime?.split('/')[0];\n // if the folder parent was the root of Media Library, its id is null\n // we know it changed location if the new parent value exists\n const didChangeLocation = asset?.folder?.id\n ? asset.folder.id !== values.parent?.value\n : asset?.folder === null && !!values.parent?.value;\n\n trackUsage('didEditMediaLibraryElements', {\n location: trackedLocation,\n type: assetType,\n changeLocation: didChangeLocation,\n });\n\n onClose(editedAsset);\n }\n };\n\n const handleStartCropping = () => {\n setIsCropping(true);\n };\n\n const handleCancelCropping = () => {\n setIsCropping(false);\n };\n\n const handleFinishCropping = () => {\n setIsCropping(false);\n onClose();\n };\n\n const handleFocalPointStart = () => {\n setIsFocalPointMode(true);\n };\n\n const handleFocalPointCancel = () => {\n setIsFocalPointMode(false);\n };\n\n const formDisabled = !canUpdate || isCropping || isFocalPointMode;\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n };\n\n const activeFolderId = asset?.folder?.id ?? toFolderId(initialFolderId);\n const initialFormData = !folderStructureIsLoading && {\n name: asset?.name,\n alternativeText: asset?.alternativeText ?? undefined,\n caption: asset?.caption ?? undefined,\n focalPoint: asset?.focalPoint ?? null,\n parent: {\n value: activeFolderId ?? undefined,\n label:\n findRecursiveFolderByValue(folderStructure!, activeFolderId!)?.label ??\n folderStructure![0].label,\n },\n };\n\n const handleClose = (values?: { [key: string]: unknown }) => {\n if (!isEqual(initialFormData, values)) {\n handleConfirmClose();\n } else {\n onClose();\n }\n };\n\n if (folderStructureIsLoading) {\n return (\n <>\n <DialogHeader />\n <LoadingBody minHeight=\"60vh\" justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </LoadingBody>\n <Modal.Footer>\n <Button onClick={() => handleClose()} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n }\n\n return (\n <Formik\n validationSchema={fileInfoSchema}\n validateOnChange={false}\n onSubmit={handleSubmit}\n initialValues={initialFormData}\n >\n {({ values, errors, handleChange, setFieldValue }) => (\n <>\n <DialogHeader />\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <PreviewBox\n asset={asset!}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n onDelete={onClose}\n onCropFinish={handleFinishCropping}\n onCropStart={handleStartCropping}\n onCropCancel={handleCancelCropping}\n replacementFile={replacementFile}\n trackedLocation={trackedLocation}\n formFocalPoint={values.focalPoint}\n onFocalPointStart={handleFocalPointStart}\n onFocalPointFinish={(focalPoint) => {\n setIsFocalPointMode(false);\n setFieldValue('focalPoint', focalPoint);\n }}\n onFocalPointCancel={handleFocalPointCancel}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Form noValidate>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <ContextInfo\n blocks={[\n {\n label: formatMessage({\n id: getTrad('modal.file-details.size'),\n defaultMessage: 'Size',\n }),\n value: formatBytes(asset?.size ? asset.size : 0),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.dimensions'),\n defaultMessage: 'Dimensions',\n }),\n value:\n asset?.height && asset.width ? `${asset.width}✕${asset.height}` : null,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.date'),\n defaultMessage: 'Date',\n }),\n value: formatDate(new Date(asset?.createdAt ? asset.createdAt : '')),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.extension'),\n defaultMessage: 'Extension',\n }),\n value: getFileExtension(asset?.ext)!,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.id'),\n defaultMessage: 'Asset ID',\n }),\n value: asset?.id ? asset.id : null,\n },\n\n ...(values.focalPoint\n ? [\n {\n label: formatMessage({\n id: getTrad('modal.file-details.focal-point'),\n defaultMessage: 'Focal point',\n }),\n value: `x: ${values.focalPoint.x}% - y: ${values.focalPoint.y}%`,\n },\n ]\n : []),\n ]}\n />\n <Field.Root name=\"name\" error={errors.name}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-name'),\n defaultMessage: 'File name',\n })}\n </Field.Label>\n <TextInput\n value={values.name}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n\n {!omitFields?.includes('alternativeText') && (\n <Field.Root\n name=\"alternativeText\"\n hint={formatMessage({\n id: getTrad('form.input.description.file-alt'),\n defaultMessage:\n 'This text will be displayed if the asset can’t be shown.',\n })}\n error={errors.alternativeText}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-alt'),\n defaultMessage: 'Alternative text',\n })}\n </Field.Label>\n <TextInput\n value={values.alternativeText}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n )}\n\n {!omitFields?.includes('caption') && (\n <Field.Root name=\"caption\" error={errors.caption}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-caption'),\n defaultMessage: 'Caption',\n })}\n </Field.Label>\n <TextInput\n value={values.caption}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n </Field.Root>\n )}\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Root name=\"parent\" id=\"asset-folder\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n name=\"parent\"\n defaultValue={values.parent}\n options={folderStructure!}\n onChange={(value) => {\n setFieldValue('parent', value);\n }}\n menuPortalTarget={document.querySelector('body')}\n inputId=\"asset-folder\"\n isDisabled={formDisabled}\n error={errors?.parent}\n ariaErrorMessage=\"folder-parent-error\"\n />\n </Field.Root>\n </Flex>\n </Flex>\n\n <VisuallyHidden>\n <button\n type=\"submit\"\n tabIndex={-1}\n ref={submitButtonRef}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'submit', defaultMessage: 'Submit' })}\n </button>\n </VisuallyHidden>\n </Form>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={() => handleClose({ ...values })} variant=\"tertiary\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Flex gap={2}>\n {!omitActions?.includes('replace') && (\n <ReplaceMediaButton\n onSelectMedia={setReplacementFile}\n acceptedMime={asset?.mime ?? ''}\n disabled={formDisabled}\n trackedLocation={trackedLocation}\n />\n )}\n\n <Button\n onClick={() => submitButtonRef.current?.click()}\n loading={isLoading}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </Modal.Footer>\n </>\n )}\n </Formik>\n );\n};\n\ninterface EditAssetDialogProps {\n asset: Asset;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n open: boolean;\n onClose: (arg?: Asset | null | boolean) => void;\n}\n\nexport const EditAssetDialog = ({\n open,\n onClose,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n ...restProps\n}: EditAssetDialogProps) => {\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <Modal.Content>\n <EditAssetContent\n onClose={onClose}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n {...restProps}\n />\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["LoadingBody","styled","Flex","focalPointSchema","yup","object","x","number","min","max","required","y","nullable","default","fileInfoSchema","name","string","alternativeText","caption","focalPoint","folder","toFolderId","value","undefined","Number","isFinite","parsed","EditAssetContent","onClose","asset","initialFolderId","canUpdate","canCopyLink","canDownload","trackedLocation","omitFields","omitActions","formatMessage","formatDate","useIntl","trackUsage","useTracking","submitButtonRef","React","useRef","isCropping","setIsCropping","useState","isFocalPointMode","setIsFocalPointMode","replacementFile","setReplacementFile","editAsset","isLoading","useEditAsset","data","folderStructure","folderStructureIsLoading","useFolderStructure","enabled","handleSubmit","values","nextAsset","parent","isLocal","editedAsset","assetType","mime","split","didChangeLocation","id","location","type","changeLocation","handleStartCropping","handleCancelCropping","handleFinishCropping","handleFocalPointStart","handleFocalPointCancel","formDisabled","handleConfirmClose","confirm","window","defaultMessage","activeFolderId","initialFormData","label","findRecursiveFolderByValue","handleClose","isEqual","_jsxs","_Fragment","_jsx","DialogHeader","minHeight","justifyContent","paddingTop","paddingBottom","Loader","getTrad","Modal","Footer","Button","onClick","variant","Formik","validationSchema","validateOnChange","onSubmit","initialValues","errors","handleChange","setFieldValue","Body","Grid","Root","gap","Item","xs","col","direction","alignItems","PreviewBox","onDelete","onCropFinish","onCropStart","onCropCancel","formFocalPoint","onFocalPointStart","onFocalPointFinish","onFocalPointCancel","Form","noValidate","ContextInfo","blocks","formatBytes","size","height","width","Date","createdAt","getFileExtension","ext","Field","error","Label","TextInput","onChange","disabled","Error","includes","hint","Hint","SelectTree","defaultValue","options","menuPortalTarget","document","querySelector","inputId","isDisabled","ariaErrorMessage","VisuallyHidden","button","tabIndex","ref","ReplaceMediaButton","onSelectMedia","acceptedMime","current","click","loading","EditAssetDialog","open","restProps","onOpenChange","Content"],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ import 'date-fns';
|
|
|
15
15
|
import { getTrad } from '../../utils/getTrad.mjs';
|
|
16
16
|
import 'qs';
|
|
17
17
|
import { getFileExtension } from '../../utils/getFileExtension.mjs';
|
|
18
|
-
import '../../utils/typeFromMime.mjs';
|
|
19
18
|
import '../../utils/urlYupSchema.mjs';
|
|
20
19
|
import { ContextInfo } from '../ContextInfo/ContextInfo.mjs';
|
|
21
20
|
import { SelectTree } from '../SelectTree/SelectTree.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditAssetContent.mjs","sources":["../../../../admin/src/components/EditAssetDialog/EditAssetContent.tsx"],"sourcesContent":["/**\n *\n * EditAssetDialog\n *\n */\nimport * as React from 'react';\n\nimport {\n Button,\n Field,\n Flex,\n Grid,\n Loader,\n Modal,\n TextInput,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useEditAsset } from '../../hooks/useEditAsset';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { useTracking } from '../../hooks/useTracking';\nimport { findRecursiveFolderByValue, getTrad, getFileExtension, formatBytes } from '../../utils';\nimport { ContextInfo } from '../ContextInfo/ContextInfo';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport { DialogHeader } from './DialogHeader';\nimport { PreviewBox } from './PreviewBox/PreviewBox';\nimport { ReplaceMediaButton } from './ReplaceMediaButton';\n\nimport type {\n File as FileDefinition,\n RawFile,\n FocalPoint,\n} from '../../../../shared/contracts/files';\n\nconst LoadingBody = styled(Flex)`\n /* 80px are coming from the Tabs component that is not included in the ModalBody */\n min-height: ${() => `calc(60dvh + 8rem)`};\n`;\n\nconst focalPointSchema = yup\n .object({\n x: yup.number().min(0).max(100).required(),\n y: yup.number().min(0).max(100).required(),\n })\n .nullable()\n .default(null);\n\nconst fileInfoSchema = yup.object({\n name: yup.string().required(),\n alternativeText: yup.string(),\n caption: yup.string(),\n focalPoint: focalPointSchema,\n folder: yup.number(),\n});\n\nexport interface Asset extends Omit<FileDefinition, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: FileDefinition['folder'] & { id: number };\n}\n\ninterface EditAssetContentProps {\n asset?: Asset;\n initialFolderId?: string | number | null;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n onClose: (arg?: Asset | null | boolean) => void;\n omitFields?: ('caption' | 'alternativeText')[];\n omitActions?: 'replace'[];\n}\n\ninterface FormInitialData {\n name?: string;\n alternativeText?: string;\n caption?: string;\n focalPoint?: FocalPoint | null;\n parent?: {\n value?: number;\n label: string;\n };\n}\n\nconst toFolderId = (value: string | number | null | undefined): number | undefined => {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : undefined;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n};\n\nexport const EditAssetContent = ({\n onClose,\n asset,\n initialFolderId = null,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n trackedLocation,\n omitFields = [],\n omitActions = [],\n}: EditAssetContentProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { trackUsage } = useTracking();\n const submitButtonRef = React.useRef<HTMLButtonElement>(null);\n const [isCropping, setIsCropping] = React.useState(false);\n const [isFocalPointMode, setIsFocalPointMode] = React.useState(false);\n const [replacementFile, setReplacementFile] = React.useState<File | undefined>();\n const { editAsset, isLoading } = useEditAsset();\n\n const { data: folderStructure, isLoading: folderStructureIsLoading } = useFolderStructure({\n enabled: true,\n });\n\n const handleSubmit = async (values: FormInitialData) => {\n const nextAsset = { ...asset, ...values, folder: values.parent?.value } as Asset;\n\n if (asset?.isLocal) {\n onClose(nextAsset);\n } else {\n const editedAsset = (await editAsset(nextAsset, replacementFile!)) as Asset;\n\n const assetType = asset?.mime?.split('/')[0];\n // if the folder parent was the root of Media Library, its id is null\n // we know it changed location if the new parent value exists\n const didChangeLocation = asset?.folder?.id\n ? asset.folder.id !== values.parent?.value\n : asset?.folder === null && !!values.parent?.value;\n\n trackUsage('didEditMediaLibraryElements', {\n location: trackedLocation,\n type: assetType,\n changeLocation: didChangeLocation,\n });\n\n onClose(editedAsset);\n }\n };\n\n const handleStartCropping = () => {\n setIsCropping(true);\n };\n\n const handleCancelCropping = () => {\n setIsCropping(false);\n };\n\n const handleFinishCropping = () => {\n setIsCropping(false);\n onClose();\n };\n\n const handleFocalPointStart = () => {\n setIsFocalPointMode(true);\n };\n\n const handleFocalPointCancel = () => {\n setIsFocalPointMode(false);\n };\n\n const formDisabled = !canUpdate || isCropping || isFocalPointMode;\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n };\n\n const activeFolderId = asset?.folder?.id ?? toFolderId(initialFolderId);\n const initialFormData = !folderStructureIsLoading && {\n name: asset?.name,\n alternativeText: asset?.alternativeText ?? undefined,\n caption: asset?.caption ?? undefined,\n focalPoint: asset?.focalPoint ?? null,\n parent: {\n value: activeFolderId ?? undefined,\n label:\n findRecursiveFolderByValue(folderStructure!, activeFolderId!)?.label ??\n folderStructure![0].label,\n },\n };\n\n const handleClose = (values?: { [key: string]: unknown }) => {\n if (!isEqual(initialFormData, values)) {\n handleConfirmClose();\n } else {\n onClose();\n }\n };\n\n if (folderStructureIsLoading) {\n return (\n <>\n <DialogHeader />\n <LoadingBody minHeight=\"60vh\" justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </LoadingBody>\n <Modal.Footer>\n <Button onClick={() => handleClose()} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n }\n\n return (\n <Formik\n validationSchema={fileInfoSchema}\n validateOnChange={false}\n onSubmit={handleSubmit}\n initialValues={initialFormData}\n >\n {({ values, errors, handleChange, setFieldValue }) => (\n <>\n <DialogHeader />\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <PreviewBox\n asset={asset!}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n onDelete={onClose}\n onCropFinish={handleFinishCropping}\n onCropStart={handleStartCropping}\n onCropCancel={handleCancelCropping}\n replacementFile={replacementFile}\n trackedLocation={trackedLocation}\n formFocalPoint={values.focalPoint}\n onFocalPointStart={handleFocalPointStart}\n onFocalPointFinish={(focalPoint) => {\n setIsFocalPointMode(false);\n setFieldValue('focalPoint', focalPoint);\n }}\n onFocalPointCancel={handleFocalPointCancel}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Form noValidate>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <ContextInfo\n blocks={[\n {\n label: formatMessage({\n id: getTrad('modal.file-details.size'),\n defaultMessage: 'Size',\n }),\n value: formatBytes(asset?.size ? asset.size : 0),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.dimensions'),\n defaultMessage: 'Dimensions',\n }),\n value:\n asset?.height && asset.width ? `${asset.width}✕${asset.height}` : null,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.date'),\n defaultMessage: 'Date',\n }),\n value: formatDate(new Date(asset?.createdAt ? asset.createdAt : '')),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.extension'),\n defaultMessage: 'Extension',\n }),\n value: getFileExtension(asset?.ext)!,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.id'),\n defaultMessage: 'Asset ID',\n }),\n value: asset?.id ? asset.id : null,\n },\n\n ...(values.focalPoint\n ? [\n {\n label: formatMessage({\n id: getTrad('modal.file-details.focal-point'),\n defaultMessage: 'Focal point',\n }),\n value: `x: ${values.focalPoint.x}% - y: ${values.focalPoint.y}%`,\n },\n ]\n : []),\n ]}\n />\n <Field.Root name=\"name\" error={errors.name}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-name'),\n defaultMessage: 'File name',\n })}\n </Field.Label>\n <TextInput\n value={values.name}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n\n {!omitFields?.includes('alternativeText') && (\n <Field.Root\n name=\"alternativeText\"\n hint={formatMessage({\n id: getTrad('form.input.description.file-alt'),\n defaultMessage:\n 'This text will be displayed if the asset can’t be shown.',\n })}\n error={errors.alternativeText}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-alt'),\n defaultMessage: 'Alternative text',\n })}\n </Field.Label>\n <TextInput\n value={values.alternativeText}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n )}\n\n {!omitFields?.includes('caption') && (\n <Field.Root name=\"caption\" error={errors.caption}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-caption'),\n defaultMessage: 'Caption',\n })}\n </Field.Label>\n <TextInput\n value={values.caption}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n </Field.Root>\n )}\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Root name=\"parent\" id=\"asset-folder\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n name=\"parent\"\n defaultValue={values.parent}\n options={folderStructure!}\n onChange={(value) => {\n setFieldValue('parent', value);\n }}\n menuPortalTarget={document.querySelector('body')}\n inputId=\"asset-folder\"\n isDisabled={formDisabled}\n error={errors?.parent}\n ariaErrorMessage=\"folder-parent-error\"\n />\n </Field.Root>\n </Flex>\n </Flex>\n\n <VisuallyHidden>\n <button\n type=\"submit\"\n tabIndex={-1}\n ref={submitButtonRef}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'submit', defaultMessage: 'Submit' })}\n </button>\n </VisuallyHidden>\n </Form>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={() => handleClose({ ...values })} variant=\"tertiary\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Flex gap={2}>\n {!omitActions?.includes('replace') && (\n <ReplaceMediaButton\n onSelectMedia={setReplacementFile}\n acceptedMime={asset?.mime ?? ''}\n disabled={formDisabled}\n trackedLocation={trackedLocation}\n />\n )}\n\n <Button\n onClick={() => submitButtonRef.current?.click()}\n loading={isLoading}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </Modal.Footer>\n </>\n )}\n </Formik>\n );\n};\n\ninterface EditAssetDialogProps {\n asset: Asset;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n open: boolean;\n onClose: (arg?: Asset | null | boolean) => void;\n}\n\nexport const EditAssetDialog = ({\n open,\n onClose,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n ...restProps\n}: EditAssetDialogProps) => {\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <Modal.Content>\n <EditAssetContent\n onClose={onClose}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n {...restProps}\n />\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["LoadingBody","styled","Flex","focalPointSchema","yup","object","x","number","min","max","required","y","nullable","default","fileInfoSchema","name","string","alternativeText","caption","focalPoint","folder","toFolderId","value","undefined","Number","isFinite","parsed","EditAssetContent","onClose","asset","initialFolderId","canUpdate","canCopyLink","canDownload","trackedLocation","omitFields","omitActions","formatMessage","formatDate","useIntl","trackUsage","useTracking","submitButtonRef","React","useRef","isCropping","setIsCropping","useState","isFocalPointMode","setIsFocalPointMode","replacementFile","setReplacementFile","editAsset","isLoading","useEditAsset","data","folderStructure","folderStructureIsLoading","useFolderStructure","enabled","handleSubmit","values","nextAsset","parent","isLocal","editedAsset","assetType","mime","split","didChangeLocation","id","location","type","changeLocation","handleStartCropping","handleCancelCropping","handleFinishCropping","handleFocalPointStart","handleFocalPointCancel","formDisabled","handleConfirmClose","confirm","window","defaultMessage","activeFolderId","initialFormData","label","findRecursiveFolderByValue","handleClose","isEqual","_jsxs","_Fragment","_jsx","DialogHeader","minHeight","justifyContent","paddingTop","paddingBottom","Loader","getTrad","Modal","Footer","Button","onClick","variant","Formik","validationSchema","validateOnChange","onSubmit","initialValues","errors","handleChange","setFieldValue","Body","Grid","Root","gap","Item","xs","col","direction","alignItems","PreviewBox","onDelete","onCropFinish","onCropStart","onCropCancel","formFocalPoint","onFocalPointStart","onFocalPointFinish","onFocalPointCancel","Form","noValidate","ContextInfo","blocks","formatBytes","size","height","width","Date","createdAt","getFileExtension","ext","Field","error","Label","TextInput","onChange","disabled","Error","includes","hint","Hint","SelectTree","defaultValue","options","menuPortalTarget","document","querySelector","inputId","isDisabled","ariaErrorMessage","VisuallyHidden","button","tabIndex","ref","ReplaceMediaButton","onSelectMedia","acceptedMime","current","click","loading","EditAssetDialog","open","restProps","onOpenChange","Content"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditAssetContent.mjs","sources":["../../../../admin/src/components/EditAssetDialog/EditAssetContent.tsx"],"sourcesContent":["/**\n *\n * EditAssetDialog\n *\n */\nimport * as React from 'react';\n\nimport {\n Button,\n Field,\n Flex,\n Grid,\n Loader,\n Modal,\n TextInput,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Form, Formik } from 'formik';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { useEditAsset } from '../../hooks/useEditAsset';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { useTracking } from '../../hooks/useTracking';\nimport { findRecursiveFolderByValue, getTrad, getFileExtension, formatBytes } from '../../utils';\nimport { ContextInfo } from '../ContextInfo/ContextInfo';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport { DialogHeader } from './DialogHeader';\nimport { PreviewBox } from './PreviewBox/PreviewBox';\nimport { ReplaceMediaButton } from './ReplaceMediaButton';\n\nimport type {\n File as FileDefinition,\n RawFile,\n FocalPoint,\n} from '../../../../shared/contracts/files';\n\nconst LoadingBody = styled(Flex)`\n /* 80px are coming from the Tabs component that is not included in the ModalBody */\n min-height: ${() => `calc(60dvh + 8rem)`};\n`;\n\nconst focalPointSchema = yup\n .object({\n x: yup.number().min(0).max(100).required(),\n y: yup.number().min(0).max(100).required(),\n })\n .nullable()\n .default(null);\n\nconst fileInfoSchema = yup.object({\n name: yup.string().required(),\n alternativeText: yup.string(),\n caption: yup.string(),\n focalPoint: focalPointSchema,\n folder: yup.number(),\n});\n\nexport interface Asset extends Omit<FileDefinition, 'folder'> {\n isLocal?: boolean;\n rawFile?: RawFile;\n folder?: FileDefinition['folder'] & { id: number };\n}\n\ninterface EditAssetContentProps {\n asset?: Asset;\n initialFolderId?: string | number | null;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n onClose: (arg?: Asset | null | boolean) => void;\n omitFields?: ('caption' | 'alternativeText')[];\n omitActions?: 'replace'[];\n}\n\ninterface FormInitialData {\n name?: string;\n alternativeText?: string;\n caption?: string;\n focalPoint?: FocalPoint | null;\n parent?: {\n value?: number;\n label: string;\n };\n}\n\nconst toFolderId = (value: string | number | null | undefined): number | undefined => {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n if (typeof value === 'number') {\n return Number.isFinite(value) ? value : undefined;\n }\n\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n};\n\nexport const EditAssetContent = ({\n onClose,\n asset,\n initialFolderId = null,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n trackedLocation,\n omitFields = [],\n omitActions = [],\n}: EditAssetContentProps) => {\n const { formatMessage, formatDate } = useIntl();\n const { trackUsage } = useTracking();\n const submitButtonRef = React.useRef<HTMLButtonElement>(null);\n const [isCropping, setIsCropping] = React.useState(false);\n const [isFocalPointMode, setIsFocalPointMode] = React.useState(false);\n const [replacementFile, setReplacementFile] = React.useState<File | undefined>();\n const { editAsset, isLoading } = useEditAsset();\n\n const { data: folderStructure, isLoading: folderStructureIsLoading } = useFolderStructure({\n enabled: true,\n });\n\n const handleSubmit = async (values: FormInitialData) => {\n const nextAsset = { ...asset, ...values, folder: values.parent?.value } as Asset;\n\n if (asset?.isLocal) {\n onClose(nextAsset);\n } else {\n const editedAsset = (await editAsset(nextAsset, replacementFile!)) as Asset;\n\n const assetType = asset?.mime?.split('/')[0];\n // if the folder parent was the root of Media Library, its id is null\n // we know it changed location if the new parent value exists\n const didChangeLocation = asset?.folder?.id\n ? asset.folder.id !== values.parent?.value\n : asset?.folder === null && !!values.parent?.value;\n\n trackUsage('didEditMediaLibraryElements', {\n location: trackedLocation,\n type: assetType,\n changeLocation: didChangeLocation,\n });\n\n onClose(editedAsset);\n }\n };\n\n const handleStartCropping = () => {\n setIsCropping(true);\n };\n\n const handleCancelCropping = () => {\n setIsCropping(false);\n };\n\n const handleFinishCropping = () => {\n setIsCropping(false);\n onClose();\n };\n\n const handleFocalPointStart = () => {\n setIsFocalPointMode(true);\n };\n\n const handleFocalPointCancel = () => {\n setIsFocalPointMode(false);\n };\n\n const formDisabled = !canUpdate || isCropping || isFocalPointMode;\n\n const handleConfirmClose = () => {\n // eslint-disable-next-line no-alert\n const confirm = window.confirm(\n formatMessage({\n id: 'window.confirm.close-modal.file',\n defaultMessage: 'Are you sure? Your changes will be lost.',\n })\n );\n\n if (confirm) {\n onClose();\n }\n };\n\n const activeFolderId = asset?.folder?.id ?? toFolderId(initialFolderId);\n const initialFormData = !folderStructureIsLoading && {\n name: asset?.name,\n alternativeText: asset?.alternativeText ?? undefined,\n caption: asset?.caption ?? undefined,\n focalPoint: asset?.focalPoint ?? null,\n parent: {\n value: activeFolderId ?? undefined,\n label:\n findRecursiveFolderByValue(folderStructure!, activeFolderId!)?.label ??\n folderStructure![0].label,\n },\n };\n\n const handleClose = (values?: { [key: string]: unknown }) => {\n if (!isEqual(initialFormData, values)) {\n handleConfirmClose();\n } else {\n onClose();\n }\n };\n\n if (folderStructureIsLoading) {\n return (\n <>\n <DialogHeader />\n <LoadingBody minHeight=\"60vh\" justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </LoadingBody>\n <Modal.Footer>\n <Button onClick={() => handleClose()} variant=\"tertiary\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Footer>\n </>\n );\n }\n\n return (\n <Formik\n validationSchema={fileInfoSchema}\n validateOnChange={false}\n onSubmit={handleSubmit}\n initialValues={initialFormData}\n >\n {({ values, errors, handleChange, setFieldValue }) => (\n <>\n <DialogHeader />\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <PreviewBox\n asset={asset!}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n onDelete={onClose}\n onCropFinish={handleFinishCropping}\n onCropStart={handleStartCropping}\n onCropCancel={handleCancelCropping}\n replacementFile={replacementFile}\n trackedLocation={trackedLocation}\n formFocalPoint={values.focalPoint}\n onFocalPointStart={handleFocalPointStart}\n onFocalPointFinish={(focalPoint) => {\n setIsFocalPointMode(false);\n setFieldValue('focalPoint', focalPoint);\n }}\n onFocalPointCancel={handleFocalPointCancel}\n />\n </Grid.Item>\n <Grid.Item xs={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Form noValidate>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={3}>\n <ContextInfo\n blocks={[\n {\n label: formatMessage({\n id: getTrad('modal.file-details.size'),\n defaultMessage: 'Size',\n }),\n value: formatBytes(asset?.size ? asset.size : 0),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.dimensions'),\n defaultMessage: 'Dimensions',\n }),\n value:\n asset?.height && asset.width ? `${asset.width}✕${asset.height}` : null,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.date'),\n defaultMessage: 'Date',\n }),\n value: formatDate(new Date(asset?.createdAt ? asset.createdAt : '')),\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.extension'),\n defaultMessage: 'Extension',\n }),\n value: getFileExtension(asset?.ext)!,\n },\n\n {\n label: formatMessage({\n id: getTrad('modal.file-details.id'),\n defaultMessage: 'Asset ID',\n }),\n value: asset?.id ? asset.id : null,\n },\n\n ...(values.focalPoint\n ? [\n {\n label: formatMessage({\n id: getTrad('modal.file-details.focal-point'),\n defaultMessage: 'Focal point',\n }),\n value: `x: ${values.focalPoint.x}% - y: ${values.focalPoint.y}%`,\n },\n ]\n : []),\n ]}\n />\n <Field.Root name=\"name\" error={errors.name}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-name'),\n defaultMessage: 'File name',\n })}\n </Field.Label>\n <TextInput\n value={values.name}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n\n {!omitFields?.includes('alternativeText') && (\n <Field.Root\n name=\"alternativeText\"\n hint={formatMessage({\n id: getTrad('form.input.description.file-alt'),\n defaultMessage:\n 'This text will be displayed if the asset can’t be shown.',\n })}\n error={errors.alternativeText}\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-alt'),\n defaultMessage: 'Alternative text',\n })}\n </Field.Label>\n <TextInput\n value={values.alternativeText}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n <Field.Hint />\n <Field.Error />\n </Field.Root>\n )}\n\n {!omitFields?.includes('caption') && (\n <Field.Root name=\"caption\" error={errors.caption}>\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-caption'),\n defaultMessage: 'Caption',\n })}\n </Field.Label>\n <TextInput\n value={values.caption}\n onChange={handleChange}\n disabled={formDisabled}\n type=\"text\"\n />\n </Field.Root>\n )}\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Field.Root name=\"parent\" id=\"asset-folder\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.file-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n name=\"parent\"\n defaultValue={values.parent}\n options={folderStructure!}\n onChange={(value) => {\n setFieldValue('parent', value);\n }}\n menuPortalTarget={document.querySelector('body')}\n inputId=\"asset-folder\"\n isDisabled={formDisabled}\n error={errors?.parent}\n ariaErrorMessage=\"folder-parent-error\"\n />\n </Field.Root>\n </Flex>\n </Flex>\n\n <VisuallyHidden>\n <button\n type=\"submit\"\n tabIndex={-1}\n ref={submitButtonRef}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'submit', defaultMessage: 'Submit' })}\n </button>\n </VisuallyHidden>\n </Form>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={() => handleClose({ ...values })} variant=\"tertiary\">\n {formatMessage({ id: 'global.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Flex gap={2}>\n {!omitActions?.includes('replace') && (\n <ReplaceMediaButton\n onSelectMedia={setReplacementFile}\n acceptedMime={asset?.mime ?? ''}\n disabled={formDisabled}\n trackedLocation={trackedLocation}\n />\n )}\n\n <Button\n onClick={() => submitButtonRef.current?.click()}\n loading={isLoading}\n disabled={formDisabled}\n >\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Flex>\n </Modal.Footer>\n </>\n )}\n </Formik>\n );\n};\n\ninterface EditAssetDialogProps {\n asset: Asset;\n canUpdate?: boolean;\n canCopyLink?: boolean;\n canDownload?: boolean;\n trackedLocation?: string;\n open: boolean;\n onClose: (arg?: Asset | null | boolean) => void;\n}\n\nexport const EditAssetDialog = ({\n open,\n onClose,\n canUpdate = false,\n canCopyLink = false,\n canDownload = false,\n ...restProps\n}: EditAssetDialogProps) => {\n return (\n <Modal.Root open={open} onOpenChange={onClose}>\n <Modal.Content>\n <EditAssetContent\n onClose={onClose}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n {...restProps}\n />\n </Modal.Content>\n </Modal.Root>\n );\n};\n"],"names":["LoadingBody","styled","Flex","focalPointSchema","yup","object","x","number","min","max","required","y","nullable","default","fileInfoSchema","name","string","alternativeText","caption","focalPoint","folder","toFolderId","value","undefined","Number","isFinite","parsed","EditAssetContent","onClose","asset","initialFolderId","canUpdate","canCopyLink","canDownload","trackedLocation","omitFields","omitActions","formatMessage","formatDate","useIntl","trackUsage","useTracking","submitButtonRef","React","useRef","isCropping","setIsCropping","useState","isFocalPointMode","setIsFocalPointMode","replacementFile","setReplacementFile","editAsset","isLoading","useEditAsset","data","folderStructure","folderStructureIsLoading","useFolderStructure","enabled","handleSubmit","values","nextAsset","parent","isLocal","editedAsset","assetType","mime","split","didChangeLocation","id","location","type","changeLocation","handleStartCropping","handleCancelCropping","handleFinishCropping","handleFocalPointStart","handleFocalPointCancel","formDisabled","handleConfirmClose","confirm","window","defaultMessage","activeFolderId","initialFormData","label","findRecursiveFolderByValue","handleClose","isEqual","_jsxs","_Fragment","_jsx","DialogHeader","minHeight","justifyContent","paddingTop","paddingBottom","Loader","getTrad","Modal","Footer","Button","onClick","variant","Formik","validationSchema","validateOnChange","onSubmit","initialValues","errors","handleChange","setFieldValue","Body","Grid","Root","gap","Item","xs","col","direction","alignItems","PreviewBox","onDelete","onCropFinish","onCropStart","onCropCancel","formFocalPoint","onFocalPointStart","onFocalPointFinish","onFocalPointCancel","Form","noValidate","ContextInfo","blocks","formatBytes","size","height","width","Date","createdAt","getFileExtension","ext","Field","error","Label","TextInput","onChange","disabled","Error","includes","hint","Hint","SelectTree","defaultValue","options","menuPortalTarget","document","querySelector","inputId","isDisabled","ariaErrorMessage","VisuallyHidden","button","tabIndex","ref","ReplaceMediaButton","onSelectMedia","acceptedMime","current","click","loading","EditAssetDialog","open","restProps","onOpenChange","Content"],"mappings":"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"}
|
|
@@ -14,7 +14,10 @@ var typeFromMime = require('../../../utils/typeFromMime.js');
|
|
|
14
14
|
require('../../../utils/urlYupSchema.js');
|
|
15
15
|
var icons = require('../../../utils/icons.js');
|
|
16
16
|
|
|
17
|
-
function
|
|
17
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
|
|
19
|
+
function _interopNamespace(e) {
|
|
20
|
+
if (e && e.__esModule) return e;
|
|
18
21
|
var n = Object.create(null);
|
|
19
22
|
if (e) {
|
|
20
23
|
Object.keys(e).forEach(function (k) {
|
|
@@ -31,7 +34,8 @@ function _interopNamespaceDefault(e) {
|
|
|
31
34
|
return Object.freeze(n);
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
var React__namespace = /*#__PURE__*/
|
|
37
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
38
|
+
var MuxPlayer__default = /*#__PURE__*/_interopDefault(MuxPlayer);
|
|
35
39
|
|
|
36
40
|
const CardAsset = styledComponents.styled(designSystem.Flex)`
|
|
37
41
|
min-height: 26.4rem;
|
|
@@ -46,7 +50,7 @@ const AssetPreview = /*#__PURE__*/ React__namespace.forwardRef(({ mime, url, nam
|
|
|
46
50
|
const theme = styledComponents.useTheme();
|
|
47
51
|
const assetType = typeFromMime.typeFromMime(mime);
|
|
48
52
|
const { formatMessage } = reactIntl.useIntl();
|
|
49
|
-
if (assetType === enums.
|
|
53
|
+
if (assetType === enums.ASSET_TYPES.Image) {
|
|
50
54
|
return /*#__PURE__*/ jsxRuntime.jsx("img", {
|
|
51
55
|
ref: ref,
|
|
52
56
|
src: url,
|
|
@@ -55,13 +59,13 @@ const AssetPreview = /*#__PURE__*/ React__namespace.forwardRef(({ mime, url, nam
|
|
|
55
59
|
...props
|
|
56
60
|
});
|
|
57
61
|
}
|
|
58
|
-
if (assetType === enums.
|
|
59
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
62
|
+
if (assetType === enums.ASSET_TYPES.Video) {
|
|
63
|
+
return /*#__PURE__*/ jsxRuntime.jsx(MuxPlayer__default.default, {
|
|
60
64
|
src: url,
|
|
61
65
|
accentColor: theme.colors.primary500
|
|
62
66
|
});
|
|
63
67
|
}
|
|
64
|
-
if (assetType === enums.
|
|
68
|
+
if (assetType === enums.ASSET_TYPES.Audio) {
|
|
65
69
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
66
70
|
margin: "5",
|
|
67
71
|
children: /*#__PURE__*/ jsxRuntime.jsx("audio", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetPreview.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/media-has-caption */\nimport * as React from 'react';\n\nimport MuxPlayer from '@mux/mux-player-react';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport {
|
|
1
|
+
{"version":3,"file":"AssetPreview.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/media-has-caption */\nimport * as React from 'react';\n\nimport MuxPlayer from '@mux/mux-player-react';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { ASSET_TYPES } from '../../../enums';\nimport { typeFromMime } from '../../../utils';\nimport { getFileIconComponent } from '../../../utils/icons';\n\nconst CardAsset = styled(Flex)`\n min-height: 26.4rem;\n border-radius: ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius} 0 0;\n background: linear-gradient(\n 180deg,\n ${({ theme }) => theme.colors.neutral0} 0%,\n ${({ theme }) => theme.colors.neutral100} 121.48%\n );\n`;\n\ninterface AssetPreviewProps extends React.HTMLAttributes<HTMLElement> {\n mime: string;\n name: string;\n url: string;\n}\n\nexport const AssetPreview = React.forwardRef<\n HTMLImageElement | HTMLVideoElement | HTMLAudioElement,\n AssetPreviewProps\n>(({ mime, url, name, ...props }, ref) => {\n const theme = useTheme();\n\n const assetType = typeFromMime(mime);\n\n const { formatMessage } = useIntl();\n\n if (assetType === ASSET_TYPES.Image) {\n return (\n <img\n ref={ref as React.ForwardedRef<HTMLImageElement>}\n src={url}\n alt={name}\n crossOrigin=\"anonymous\"\n {...props}\n />\n );\n }\n\n if (assetType === ASSET_TYPES.Video) {\n return <MuxPlayer src={url} accentColor={theme.colors.primary500} />;\n }\n\n if (assetType === ASSET_TYPES.Audio) {\n return (\n <Box margin=\"5\">\n <audio controls src={url} ref={ref as React.ForwardedRef<HTMLAudioElement>} {...props}>\n {name}\n </audio>\n </Box>\n );\n }\n\n // getFileIconComponent will handle all other file types, eg. PDF, CSV, XLS, ZIP\n // If the file type is not recognized, the default icon will be used\n const IconComponent = getFileIconComponent(assetType);\n return (\n <CardAsset width=\"100%\" justifyContent=\"center\" {...props}>\n <Flex gap={2} direction=\"column\" alignItems=\"center\">\n <IconComponent aria-label={name} fill=\"neutral500\" width={24} height={24} />\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {formatMessage({\n id: 'noPreview',\n defaultMessage: 'No preview available',\n })}\n </Typography>\n </Flex>\n </CardAsset>\n );\n});\n\nAssetPreview.displayName = 'AssetPreview';\n"],"names":["CardAsset","styled","Flex","theme","borderRadius","colors","neutral0","neutral100","AssetPreview","React","forwardRef","mime","url","name","props","ref","useTheme","assetType","typeFromMime","formatMessage","useIntl","ASSET_TYPES","Image","_jsx","img","src","alt","crossOrigin","Video","MuxPlayer","accentColor","primary500","Audio","Box","margin","audio","controls","IconComponent","getFileIconComponent","width","justifyContent","_jsxs","gap","direction","alignItems","aria-label","fill","height","Typography","textColor","variant","id","defaultMessage","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAMA,SAAAA,GAAYC,uBAAAA,CAAOC,iBAAAA,CAAK;;AAEb,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAAA,CAAMC,YAAY,CAAC;;;IAGtF,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACC,QAAQ,CAAC;IACvC,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACE,UAAU,CAAC;;AAE7C,CAAC;AAQM,MAAMC,YAAAA,iBAAeC,gBAAAA,CAAMC,UAAU,CAG1C,CAAC,EAAEC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AAChC,IAAA,MAAMZ,KAAAA,GAAQa,yBAAAA,EAAAA;AAEd,IAAA,MAAMC,YAAYC,yBAAAA,CAAaP,IAAAA,CAAAA;IAE/B,MAAM,EAAEQ,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,IAAIH,SAAAA,KAAcI,iBAAAA,CAAYC,KAAK,EAAE;AACnC,QAAA,qBACEC,cAAA,CAACC,KAAAA,EAAAA;YACCT,GAAAA,EAAKA,GAAAA;YACLU,GAAAA,EAAKb,GAAAA;YACLc,GAAAA,EAAKb,IAAAA;YACLc,WAAAA,EAAY,WAAA;AACX,YAAA,GAAGb;;AAGV,IAAA;IAEA,IAAIG,SAAAA,KAAcI,iBAAAA,CAAYO,KAAK,EAAE;AACnC,QAAA,qBAAOL,cAAA,CAACM,0BAAAA,EAAAA;YAAUJ,GAAAA,EAAKb,GAAAA;YAAKkB,WAAAA,EAAa3B,KAAAA,CAAME,MAAM,CAAC0B;;AACxD,IAAA;IAEA,IAAId,SAAAA,KAAcI,iBAAAA,CAAYW,KAAK,EAAE;AACnC,QAAA,qBACET,cAAA,CAACU,gBAAAA,EAAAA;YAAIC,MAAAA,EAAO,GAAA;AACV,YAAA,QAAA,gBAAAX,cAAA,CAACY,OAAAA,EAAAA;gBAAMC,QAAQ,EAAA,IAAA;gBAACX,GAAAA,EAAKb,GAAAA;gBAAKG,GAAAA,EAAKA,GAAAA;AAA8C,gBAAA,GAAGD,KAAK;AAClFD,gBAAAA,QAAAA,EAAAA;;;AAIT,IAAA;;;AAIA,IAAA,MAAMwB,gBAAgBC,0BAAAA,CAAqBrB,SAAAA,CAAAA;AAC3C,IAAA,qBACEM,cAAA,CAACvB,SAAAA,EAAAA;QAAUuC,KAAAA,EAAM,MAAA;QAAOC,cAAAA,EAAe,QAAA;AAAU,QAAA,GAAG1B,KAAK;AACvD,QAAA,QAAA,gBAAA2B,eAAA,CAACvC,iBAAAA,EAAAA;YAAKwC,GAAAA,EAAK,CAAA;YAAGC,SAAAA,EAAU,QAAA;YAASC,UAAAA,EAAW,QAAA;;8BAC1CrB,cAAA,CAACc,aAAAA,EAAAA;oBAAcQ,YAAAA,EAAYhC,IAAAA;oBAAMiC,IAAAA,EAAK,YAAA;oBAAaP,KAAAA,EAAO,EAAA;oBAAIQ,MAAAA,EAAQ;;8BACtExB,cAAA,CAACyB,uBAAAA,EAAAA;oBAAWC,SAAAA,EAAU,YAAA;oBAAaC,OAAAA,EAAQ,IAAA;8BACxC/B,aAAAA,CAAc;wBACbgC,EAAAA,EAAI,WAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV,CAAA;AAEA5C,YAAAA,CAAa6C,WAAW,GAAG,cAAA;;;;"}
|
|
@@ -4,7 +4,7 @@ import MuxPlayer from '@mux/mux-player-react';
|
|
|
4
4
|
import { Flex, Box, Typography } from '@strapi/design-system';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
6
|
import { styled, useTheme } from 'styled-components';
|
|
7
|
-
import {
|
|
7
|
+
import { ASSET_TYPES } from '../../../enums.mjs';
|
|
8
8
|
import 'byte-size';
|
|
9
9
|
import 'date-fns';
|
|
10
10
|
import 'qs';
|
|
@@ -25,7 +25,7 @@ const AssetPreview = /*#__PURE__*/ React.forwardRef(({ mime, url, name, ...props
|
|
|
25
25
|
const theme = useTheme();
|
|
26
26
|
const assetType = typeFromMime(mime);
|
|
27
27
|
const { formatMessage } = useIntl();
|
|
28
|
-
if (assetType ===
|
|
28
|
+
if (assetType === ASSET_TYPES.Image) {
|
|
29
29
|
return /*#__PURE__*/ jsx("img", {
|
|
30
30
|
ref: ref,
|
|
31
31
|
src: url,
|
|
@@ -34,13 +34,13 @@ const AssetPreview = /*#__PURE__*/ React.forwardRef(({ mime, url, name, ...props
|
|
|
34
34
|
...props
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
if (assetType ===
|
|
37
|
+
if (assetType === ASSET_TYPES.Video) {
|
|
38
38
|
return /*#__PURE__*/ jsx(MuxPlayer, {
|
|
39
39
|
src: url,
|
|
40
40
|
accentColor: theme.colors.primary500
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
if (assetType ===
|
|
43
|
+
if (assetType === ASSET_TYPES.Audio) {
|
|
44
44
|
return /*#__PURE__*/ jsx(Box, {
|
|
45
45
|
margin: "5",
|
|
46
46
|
children: /*#__PURE__*/ jsx("audio", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetPreview.mjs","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/media-has-caption */\nimport * as React from 'react';\n\nimport MuxPlayer from '@mux/mux-player-react';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport {
|
|
1
|
+
{"version":3,"file":"AssetPreview.mjs","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/media-has-caption */\nimport * as React from 'react';\n\nimport MuxPlayer from '@mux/mux-player-react';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { ASSET_TYPES } from '../../../enums';\nimport { typeFromMime } from '../../../utils';\nimport { getFileIconComponent } from '../../../utils/icons';\n\nconst CardAsset = styled(Flex)`\n min-height: 26.4rem;\n border-radius: ${({ theme }) => theme.borderRadius} ${({ theme }) => theme.borderRadius} 0 0;\n background: linear-gradient(\n 180deg,\n ${({ theme }) => theme.colors.neutral0} 0%,\n ${({ theme }) => theme.colors.neutral100} 121.48%\n );\n`;\n\ninterface AssetPreviewProps extends React.HTMLAttributes<HTMLElement> {\n mime: string;\n name: string;\n url: string;\n}\n\nexport const AssetPreview = React.forwardRef<\n HTMLImageElement | HTMLVideoElement | HTMLAudioElement,\n AssetPreviewProps\n>(({ mime, url, name, ...props }, ref) => {\n const theme = useTheme();\n\n const assetType = typeFromMime(mime);\n\n const { formatMessage } = useIntl();\n\n if (assetType === ASSET_TYPES.Image) {\n return (\n <img\n ref={ref as React.ForwardedRef<HTMLImageElement>}\n src={url}\n alt={name}\n crossOrigin=\"anonymous\"\n {...props}\n />\n );\n }\n\n if (assetType === ASSET_TYPES.Video) {\n return <MuxPlayer src={url} accentColor={theme.colors.primary500} />;\n }\n\n if (assetType === ASSET_TYPES.Audio) {\n return (\n <Box margin=\"5\">\n <audio controls src={url} ref={ref as React.ForwardedRef<HTMLAudioElement>} {...props}>\n {name}\n </audio>\n </Box>\n );\n }\n\n // getFileIconComponent will handle all other file types, eg. PDF, CSV, XLS, ZIP\n // If the file type is not recognized, the default icon will be used\n const IconComponent = getFileIconComponent(assetType);\n return (\n <CardAsset width=\"100%\" justifyContent=\"center\" {...props}>\n <Flex gap={2} direction=\"column\" alignItems=\"center\">\n <IconComponent aria-label={name} fill=\"neutral500\" width={24} height={24} />\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {formatMessage({\n id: 'noPreview',\n defaultMessage: 'No preview available',\n })}\n </Typography>\n </Flex>\n </CardAsset>\n );\n});\n\nAssetPreview.displayName = 'AssetPreview';\n"],"names":["CardAsset","styled","Flex","theme","borderRadius","colors","neutral0","neutral100","AssetPreview","React","forwardRef","mime","url","name","props","ref","useTheme","assetType","typeFromMime","formatMessage","useIntl","ASSET_TYPES","Image","_jsx","img","src","alt","crossOrigin","Video","MuxPlayer","accentColor","primary500","Audio","Box","margin","audio","controls","IconComponent","getFileIconComponent","width","justifyContent","_jsxs","gap","direction","alignItems","aria-label","fill","height","Typography","textColor","variant","id","defaultMessage","displayName"],"mappings":";;;;;;;;;;;;;;AAYA,MAAMA,SAAAA,GAAYC,MAAAA,CAAOC,IAAAA,CAAK;;AAEb,iBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,MAAMC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAAA,CAAMC,YAAY,CAAC;;;IAGtF,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACC,QAAQ,CAAC;IACvC,EAAE,CAAC,EAAEH,KAAK,EAAE,GAAKA,KAAAA,CAAME,MAAM,CAACE,UAAU,CAAC;;AAE7C,CAAC;AAQM,MAAMC,YAAAA,iBAAeC,KAAAA,CAAMC,UAAU,CAG1C,CAAC,EAAEC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAE,GAAGC,OAAO,EAAEC,GAAAA,GAAAA;AAChC,IAAA,MAAMZ,KAAAA,GAAQa,QAAAA,EAAAA;AAEd,IAAA,MAAMC,YAAYC,YAAAA,CAAaP,IAAAA,CAAAA;IAE/B,MAAM,EAAEQ,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAE1B,IAAIH,SAAAA,KAAcI,WAAAA,CAAYC,KAAK,EAAE;AACnC,QAAA,qBACEC,GAAA,CAACC,KAAAA,EAAAA;YACCT,GAAAA,EAAKA,GAAAA;YACLU,GAAAA,EAAKb,GAAAA;YACLc,GAAAA,EAAKb,IAAAA;YACLc,WAAAA,EAAY,WAAA;AACX,YAAA,GAAGb;;AAGV,IAAA;IAEA,IAAIG,SAAAA,KAAcI,WAAAA,CAAYO,KAAK,EAAE;AACnC,QAAA,qBAAOL,GAAA,CAACM,SAAAA,EAAAA;YAAUJ,GAAAA,EAAKb,GAAAA;YAAKkB,WAAAA,EAAa3B,KAAAA,CAAME,MAAM,CAAC0B;;AACxD,IAAA;IAEA,IAAId,SAAAA,KAAcI,WAAAA,CAAYW,KAAK,EAAE;AACnC,QAAA,qBACET,GAAA,CAACU,GAAAA,EAAAA;YAAIC,MAAAA,EAAO,GAAA;AACV,YAAA,QAAA,gBAAAX,GAAA,CAACY,OAAAA,EAAAA;gBAAMC,QAAQ,EAAA,IAAA;gBAACX,GAAAA,EAAKb,GAAAA;gBAAKG,GAAAA,EAAKA,GAAAA;AAA8C,gBAAA,GAAGD,KAAK;AAClFD,gBAAAA,QAAAA,EAAAA;;;AAIT,IAAA;;;AAIA,IAAA,MAAMwB,gBAAgBC,oBAAAA,CAAqBrB,SAAAA,CAAAA;AAC3C,IAAA,qBACEM,GAAA,CAACvB,SAAAA,EAAAA;QAAUuC,KAAAA,EAAM,MAAA;QAAOC,cAAAA,EAAe,QAAA;AAAU,QAAA,GAAG1B,KAAK;AACvD,QAAA,QAAA,gBAAA2B,IAAA,CAACvC,IAAAA,EAAAA;YAAKwC,GAAAA,EAAK,CAAA;YAAGC,SAAAA,EAAU,QAAA;YAASC,UAAAA,EAAW,QAAA;;8BAC1CrB,GAAA,CAACc,aAAAA,EAAAA;oBAAcQ,YAAAA,EAAYhC,IAAAA;oBAAMiC,IAAAA,EAAK,YAAA;oBAAaP,KAAAA,EAAO,EAAA;oBAAIQ,MAAAA,EAAQ;;8BACtExB,GAAA,CAACyB,UAAAA,EAAAA;oBAAWC,SAAAA,EAAU,YAAA;oBAAaC,OAAAA,EAAQ,IAAA;8BACxC/B,aAAAA,CAAc;wBACbgC,EAAAA,EAAI,WAAA;wBACJC,cAAAA,EAAgB;AAClB,qBAAA;;;;;AAKV,CAAA;AAEA5C,YAAAA,CAAa6C,WAAW,GAAG,cAAA;;;;"}
|
|
@@ -9,7 +9,6 @@ require('byte-size');
|
|
|
9
9
|
require('date-fns');
|
|
10
10
|
var getTrad = require('../../../utils/getTrad.js');
|
|
11
11
|
require('qs');
|
|
12
|
-
require('../../../utils/typeFromMime.js');
|
|
13
12
|
require('../../../utils/urlYupSchema.js');
|
|
14
13
|
var PreviewComponents = require('./PreviewComponents.js');
|
|
15
14
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CroppingActions.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton, Menu } from '@strapi/design-system';\nimport { Check, Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { getTrad } from '../../../utils';\n\nimport { CroppingActionRow } from './PreviewComponents';\n\ninterface CroppingActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onDuplicate?: () => void;\n}\n\nexport const CroppingActions = ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => {\n const { formatMessage } = useIntl();\n const theme = useTheme();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <CroppingActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-crop'),\n defaultMessage: 'Stop cropping',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <Menu.Root>\n <Trigger\n aria-label={formatMessage({\n id: getTrad('control-card.crop'),\n defaultMessage: 'Crop',\n })}\n variant=\"tertiary\"\n paddingLeft={2}\n paddingRight={2}\n endIcon={null}\n >\n <Check\n aria-hidden\n focusable={false}\n style={{ position: 'relative', top: 2 }}\n fill=\"#C0C0D0\"\n />\n </Trigger>\n <Menu.Content zIndex={theme.zIndices.dialog}>\n <Menu.Item onSelect={onValidate}>\n {formatMessage({\n id: getTrad('checkControl.crop-original'),\n defaultMessage: 'Crop the original asset',\n })}\n </Menu.Item>\n\n {onDuplicate && (\n <Menu.Item onSelect={onDuplicate}>\n {formatMessage({\n id: getTrad('checkControl.crop-duplicate'),\n defaultMessage: 'Duplicate & crop the asset',\n })}\n </Menu.Item>\n )}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </CroppingActionRow>\n </FocusTrap>\n );\n};\n\nconst Trigger = styled(Menu.Trigger)`\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n }\n\n &:active {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral400};\n }\n }\n }\n`;\n"],"names":["CroppingActions","onCancel","onValidate","onDuplicate","formatMessage","useIntl","theme","useTheme","_jsx","FocusTrap","onEscape","CroppingActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","Menu","Root","Trigger","aria-label","variant","endIcon","Check","aria-hidden","focusable","style","position","top","fill","Content","zIndex","zIndices","dialog","Item","onSelect","styled","colors","neutral500","neutral600","neutral400"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CroppingActions.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton, Menu } from '@strapi/design-system';\nimport { Check, Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { getTrad } from '../../../utils';\n\nimport { CroppingActionRow } from './PreviewComponents';\n\ninterface CroppingActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onDuplicate?: () => void;\n}\n\nexport const CroppingActions = ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => {\n const { formatMessage } = useIntl();\n const theme = useTheme();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <CroppingActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-crop'),\n defaultMessage: 'Stop cropping',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <Menu.Root>\n <Trigger\n aria-label={formatMessage({\n id: getTrad('control-card.crop'),\n defaultMessage: 'Crop',\n })}\n variant=\"tertiary\"\n paddingLeft={2}\n paddingRight={2}\n endIcon={null}\n >\n <Check\n aria-hidden\n focusable={false}\n style={{ position: 'relative', top: 2 }}\n fill=\"#C0C0D0\"\n />\n </Trigger>\n <Menu.Content zIndex={theme.zIndices.dialog}>\n <Menu.Item onSelect={onValidate}>\n {formatMessage({\n id: getTrad('checkControl.crop-original'),\n defaultMessage: 'Crop the original asset',\n })}\n </Menu.Item>\n\n {onDuplicate && (\n <Menu.Item onSelect={onDuplicate}>\n {formatMessage({\n id: getTrad('checkControl.crop-duplicate'),\n defaultMessage: 'Duplicate & crop the asset',\n })}\n </Menu.Item>\n )}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </CroppingActionRow>\n </FocusTrap>\n );\n};\n\nconst Trigger = styled(Menu.Trigger)`\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n }\n\n &:active {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral400};\n }\n }\n }\n`;\n"],"names":["CroppingActions","onCancel","onValidate","onDuplicate","formatMessage","useIntl","theme","useTheme","_jsx","FocusTrap","onEscape","CroppingActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","Menu","Root","Trigger","aria-label","variant","endIcon","Check","aria-hidden","focusable","style","position","top","fill","Content","zIndex","zIndices","dialog","Item","onSelect","styled","colors","neutral500","neutral600","neutral400"],"mappings":";;;;;;;;;;;;;;AAeO,MAAMA,kBAAkB,CAAC,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,WAAW,EAAwB,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQC,yBAAAA,EAAAA;AAEd,IAAA,qBACEC,cAAA,CAACC,sBAAAA,EAAAA;QAAUC,QAAAA,EAAUT,QAAAA;AACnB,QAAA,QAAA,gBAAAO,cAAA,CAACG,mCAAAA,EAAAA;YAAkBC,cAAAA,EAAe,UAAA;YAAWC,WAAAA,EAAa,CAAA;YAAGC,YAAAA,EAAc,CAAA;AACzE,YAAA,QAAA,gBAAAC,eAAA,CAACC,iBAAAA,EAAAA;gBAAKC,GAAAA,EAAK,CAAA;;kCACTT,cAAA,CAACU,uBAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOf,aAAAA,CAAc;AACnBgB,4BAAAA,EAAAA,EAAIC,eAAAA,CAAQ,wBAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAAStB,QAAAA;AAET,wBAAA,QAAA,gBAAAO,cAAA,CAACgB,WAAAA,EAAAA,EAAAA;;AAGH,kCAAAT,eAAA,CAACU,kBAAKC,IAAI,EAAA;;0CACRlB,cAAA,CAACmB,OAAAA,EAAAA;AACCC,gCAAAA,YAAAA,EAAYxB,aAAAA,CAAc;AACxBgB,oCAAAA,EAAAA,EAAIC,eAAAA,CAAQ,mBAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;gCACAO,OAAAA,EAAQ,UAAA;gCACRhB,WAAAA,EAAa,CAAA;gCACbC,YAAAA,EAAc,CAAA;gCACdgB,OAAAA,EAAS,IAAA;AAET,gCAAA,QAAA,gBAAAtB,cAAA,CAACuB,WAAAA,EAAAA;oCACCC,aAAW,EAAA,IAAA;oCACXC,SAAAA,EAAW,KAAA;oCACXC,KAAAA,EAAO;wCAAEC,QAAAA,EAAU,UAAA;wCAAYC,GAAAA,EAAK;AAAE,qCAAA;oCACtCC,IAAAA,EAAK;;;AAGT,0CAAAtB,eAAA,CAACU,kBAAKa,OAAO,EAAA;gCAACC,MAAAA,EAAQjC,KAAAA,CAAMkC,QAAQ,CAACC,MAAM;;AACzC,kDAAAjC,cAAA,CAACiB,kBAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUzC,UAAAA;kDAClBE,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,4BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;oCAGDnB,WAAAA,kBACCK,cAAA,CAACiB,kBAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUxC,WAAAA;kDAClBC,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,eAAAA,CAAQ,6BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;;;;;;;AASlB;AAEA,MAAMK,OAAAA,GAAUiB,uBAAAA,CAAOnB,iBAAAA,CAAKE,OAAO,CAAC;;;;YAIxB,EAAE,CAAC,EAAErB,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACC,UAAU,CAAC;;;;;;;;cAQvC,EAAE,CAAC,EAAExC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACE,UAAU,CAAC;;;;;;;;;cASzC,EAAE,CAAC,EAAEzC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACG,UAAU,CAAC;;;;AAIvD,CAAC;;;;"}
|
|
@@ -7,7 +7,6 @@ import 'byte-size';
|
|
|
7
7
|
import 'date-fns';
|
|
8
8
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
9
9
|
import 'qs';
|
|
10
|
-
import '../../../utils/typeFromMime.mjs';
|
|
11
10
|
import '../../../utils/urlYupSchema.mjs';
|
|
12
11
|
import { CroppingActionRow } from './PreviewComponents.mjs';
|
|
13
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CroppingActions.mjs","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton, Menu } from '@strapi/design-system';\nimport { Check, Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { getTrad } from '../../../utils';\n\nimport { CroppingActionRow } from './PreviewComponents';\n\ninterface CroppingActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onDuplicate?: () => void;\n}\n\nexport const CroppingActions = ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => {\n const { formatMessage } = useIntl();\n const theme = useTheme();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <CroppingActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-crop'),\n defaultMessage: 'Stop cropping',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <Menu.Root>\n <Trigger\n aria-label={formatMessage({\n id: getTrad('control-card.crop'),\n defaultMessage: 'Crop',\n })}\n variant=\"tertiary\"\n paddingLeft={2}\n paddingRight={2}\n endIcon={null}\n >\n <Check\n aria-hidden\n focusable={false}\n style={{ position: 'relative', top: 2 }}\n fill=\"#C0C0D0\"\n />\n </Trigger>\n <Menu.Content zIndex={theme.zIndices.dialog}>\n <Menu.Item onSelect={onValidate}>\n {formatMessage({\n id: getTrad('checkControl.crop-original'),\n defaultMessage: 'Crop the original asset',\n })}\n </Menu.Item>\n\n {onDuplicate && (\n <Menu.Item onSelect={onDuplicate}>\n {formatMessage({\n id: getTrad('checkControl.crop-duplicate'),\n defaultMessage: 'Duplicate & crop the asset',\n })}\n </Menu.Item>\n )}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </CroppingActionRow>\n </FocusTrap>\n );\n};\n\nconst Trigger = styled(Menu.Trigger)`\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n }\n\n &:active {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral400};\n }\n }\n }\n`;\n"],"names":["CroppingActions","onCancel","onValidate","onDuplicate","formatMessage","useIntl","theme","useTheme","_jsx","FocusTrap","onEscape","CroppingActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","Menu","Root","Trigger","aria-label","variant","endIcon","Check","aria-hidden","focusable","style","position","top","fill","Content","zIndex","zIndices","dialog","Item","onSelect","styled","colors","neutral500","neutral600","neutral400"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CroppingActions.mjs","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton, Menu } from '@strapi/design-system';\nimport { Check, Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { getTrad } from '../../../utils';\n\nimport { CroppingActionRow } from './PreviewComponents';\n\ninterface CroppingActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onDuplicate?: () => void;\n}\n\nexport const CroppingActions = ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => {\n const { formatMessage } = useIntl();\n const theme = useTheme();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <CroppingActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-crop'),\n defaultMessage: 'Stop cropping',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <Menu.Root>\n <Trigger\n aria-label={formatMessage({\n id: getTrad('control-card.crop'),\n defaultMessage: 'Crop',\n })}\n variant=\"tertiary\"\n paddingLeft={2}\n paddingRight={2}\n endIcon={null}\n >\n <Check\n aria-hidden\n focusable={false}\n style={{ position: 'relative', top: 2 }}\n fill=\"#C0C0D0\"\n />\n </Trigger>\n <Menu.Content zIndex={theme.zIndices.dialog}>\n <Menu.Item onSelect={onValidate}>\n {formatMessage({\n id: getTrad('checkControl.crop-original'),\n defaultMessage: 'Crop the original asset',\n })}\n </Menu.Item>\n\n {onDuplicate && (\n <Menu.Item onSelect={onDuplicate}>\n {formatMessage({\n id: getTrad('checkControl.crop-duplicate'),\n defaultMessage: 'Duplicate & crop the asset',\n })}\n </Menu.Item>\n )}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </CroppingActionRow>\n </FocusTrap>\n );\n};\n\nconst Trigger = styled(Menu.Trigger)`\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n\n &:hover {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral600};\n }\n }\n }\n\n &:active {\n svg {\n > g,\n path {\n fill: ${({ theme }) => theme.colors.neutral400};\n }\n }\n }\n`;\n"],"names":["CroppingActions","onCancel","onValidate","onDuplicate","formatMessage","useIntl","theme","useTheme","_jsx","FocusTrap","onEscape","CroppingActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","Menu","Root","Trigger","aria-label","variant","endIcon","Check","aria-hidden","focusable","style","position","top","fill","Content","zIndex","zIndices","dialog","Item","onSelect","styled","colors","neutral500","neutral600","neutral400"],"mappings":";;;;;;;;;;;;AAeO,MAAMA,kBAAkB,CAAC,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,WAAW,EAAwB,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQC,QAAAA,EAAAA;AAEd,IAAA,qBACEC,GAAA,CAACC,SAAAA,EAAAA;QAAUC,QAAAA,EAAUT,QAAAA;AACnB,QAAA,QAAA,gBAAAO,GAAA,CAACG,iBAAAA,EAAAA;YAAkBC,cAAAA,EAAe,UAAA;YAAWC,WAAAA,EAAa,CAAA;YAAGC,YAAAA,EAAc,CAAA;AACzE,YAAA,QAAA,gBAAAC,IAAA,CAACC,IAAAA,EAAAA;gBAAKC,GAAAA,EAAK,CAAA;;kCACTT,GAAA,CAACU,UAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOf,aAAAA,CAAc;AACnBgB,4BAAAA,EAAAA,EAAIC,OAAAA,CAAQ,wBAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAAStB,QAAAA;AAET,wBAAA,QAAA,gBAAAO,GAAA,CAACgB,KAAAA,EAAAA,EAAAA;;AAGH,kCAAAT,IAAA,CAACU,KAAKC,IAAI,EAAA;;0CACRlB,GAAA,CAACmB,OAAAA,EAAAA;AACCC,gCAAAA,YAAAA,EAAYxB,aAAAA,CAAc;AACxBgB,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,mBAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;gCACAO,OAAAA,EAAQ,UAAA;gCACRhB,WAAAA,EAAa,CAAA;gCACbC,YAAAA,EAAc,CAAA;gCACdgB,OAAAA,EAAS,IAAA;AAET,gCAAA,QAAA,gBAAAtB,GAAA,CAACuB,KAAAA,EAAAA;oCACCC,aAAW,EAAA,IAAA;oCACXC,SAAAA,EAAW,KAAA;oCACXC,KAAAA,EAAO;wCAAEC,QAAAA,EAAU,UAAA;wCAAYC,GAAAA,EAAK;AAAE,qCAAA;oCACtCC,IAAAA,EAAK;;;AAGT,0CAAAtB,IAAA,CAACU,KAAKa,OAAO,EAAA;gCAACC,MAAAA,EAAQjC,KAAAA,CAAMkC,QAAQ,CAACC,MAAM;;AACzC,kDAAAjC,GAAA,CAACiB,KAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUzC,UAAAA;kDAClBE,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,4BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;oCAGDnB,WAAAA,kBACCK,GAAA,CAACiB,KAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUxC,WAAAA;kDAClBC,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,6BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;;;;;;;AASlB;AAEA,MAAMK,OAAAA,GAAUiB,MAAAA,CAAOnB,IAAAA,CAAKE,OAAO,CAAC;;;;YAIxB,EAAE,CAAC,EAAErB,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACC,UAAU,CAAC;;;;;;;;cAQvC,EAAE,CAAC,EAAExC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACE,UAAU,CAAC;;;;;;;;;cASzC,EAAE,CAAC,EAAEzC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACG,UAAU,CAAC;;;;AAIvD,CAAC;;;;"}
|
|
@@ -8,7 +8,6 @@ require('byte-size');
|
|
|
8
8
|
require('date-fns');
|
|
9
9
|
var getTrad = require('../../../utils/getTrad.js');
|
|
10
10
|
require('qs');
|
|
11
|
-
require('../../../utils/typeFromMime.js');
|
|
12
11
|
require('../../../utils/urlYupSchema.js');
|
|
13
12
|
var PreviewComponents = require('./PreviewComponents.js');
|
|
14
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FocalPointActions.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/FocalPointActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton } from '@strapi/design-system';\nimport { Check, Cross, ArrowsCounterClockwise } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FocalPointActionRow } from './PreviewComponents';\n\ninterface FocalPointActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onReset: () => void;\n}\n\nexport const FocalPointActions = ({ onCancel, onValidate, onReset }: FocalPointActionsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <FocalPointActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-focal-point'),\n defaultMessage: 'Cancel focal point selection',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.reset-focal-point'),\n defaultMessage: 'Reset to center',\n })}\n onClick={onReset}\n >\n <ArrowsCounterClockwise />\n </IconButton>\n\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.save-focal-point'),\n defaultMessage: 'Save focal point',\n })}\n onClick={onValidate}\n >\n <Check />\n </IconButton>\n </Flex>\n </FocalPointActionRow>\n </FocusTrap>\n );\n};\n"],"names":["FocalPointActions","onCancel","onValidate","onReset","formatMessage","useIntl","_jsx","FocusTrap","onEscape","FocalPointActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","ArrowsCounterClockwise","Check"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FocalPointActions.js","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/FocalPointActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton } from '@strapi/design-system';\nimport { Check, Cross, ArrowsCounterClockwise } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nimport { FocalPointActionRow } from './PreviewComponents';\n\ninterface FocalPointActionsProps {\n onCancel: () => void;\n onValidate: () => void;\n onReset: () => void;\n}\n\nexport const FocalPointActions = ({ onCancel, onValidate, onReset }: FocalPointActionsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <FocusTrap onEscape={onCancel}>\n <FocalPointActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n <Flex gap={1}>\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.stop-focal-point'),\n defaultMessage: 'Cancel focal point selection',\n })}\n onClick={onCancel}\n >\n <Cross />\n </IconButton>\n\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.reset-focal-point'),\n defaultMessage: 'Reset to center',\n })}\n onClick={onReset}\n >\n <ArrowsCounterClockwise />\n </IconButton>\n\n <IconButton\n label={formatMessage({\n id: getTrad('control-card.save-focal-point'),\n defaultMessage: 'Save focal point',\n })}\n onClick={onValidate}\n >\n <Check />\n </IconButton>\n </Flex>\n </FocalPointActionRow>\n </FocusTrap>\n );\n};\n"],"names":["FocalPointActions","onCancel","onValidate","onReset","formatMessage","useIntl","_jsx","FocusTrap","onEscape","FocalPointActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","ArrowsCounterClockwise","Check"],"mappings":";;;;;;;;;;;;;AAcO,MAAMA,oBAAoB,CAAC,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAA0B,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,cAAA,CAACC,sBAAAA,EAAAA;QAAUC,QAAAA,EAAUP,QAAAA;AACnB,QAAA,QAAA,gBAAAK,cAAA,CAACG,qCAAAA,EAAAA;YAAoBC,cAAAA,EAAe,UAAA;YAAWC,WAAAA,EAAa,CAAA;YAAGC,YAAAA,EAAc,CAAA;AAC3E,YAAA,QAAA,gBAAAC,eAAA,CAACC,iBAAAA,EAAAA;gBAAKC,GAAAA,EAAK,CAAA;;kCACTT,cAAA,CAACU,uBAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOb,aAAAA,CAAc;AACnBc,4BAAAA,EAAAA,EAAIC,eAAAA,CAAQ,+BAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAASpB,QAAAA;AAET,wBAAA,QAAA,gBAAAK,cAAA,CAACgB,WAAAA,EAAAA,EAAAA;;kCAGHhB,cAAA,CAACU,uBAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOb,aAAAA,CAAc;AACnBc,4BAAAA,EAAAA,EAAIC,eAAAA,CAAQ,gCAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAASlB,OAAAA;AAET,wBAAA,QAAA,gBAAAG,cAAA,CAACiB,4BAAAA,EAAAA,EAAAA;;kCAGHjB,cAAA,CAACU,uBAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOb,aAAAA,CAAc;AACnBc,4BAAAA,EAAAA,EAAIC,eAAAA,CAAQ,+BAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAASnB,UAAAA;AAET,wBAAA,QAAA,gBAAAI,cAAA,CAACkB,WAAAA,EAAAA,EAAAA;;;;;;AAMb;;;;"}
|
|
@@ -6,7 +6,6 @@ import 'byte-size';
|
|
|
6
6
|
import 'date-fns';
|
|
7
7
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
8
8
|
import 'qs';
|
|
9
|
-
import '../../../utils/typeFromMime.mjs';
|
|
10
9
|
import '../../../utils/urlYupSchema.mjs';
|
|
11
10
|
import { FocalPointActionRow } from './PreviewComponents.mjs';
|
|
12
11
|
|