@strapi/upload 5.12.1 → 5.12.3
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/components/AssetCard/AssetCard.js +59 -0
- package/dist/admin/components/AssetCard/AssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/AssetCard.mjs +57 -0
- package/dist/admin/components/AssetCard/AssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AssetCardBase.js +130 -0
- package/dist/admin/components/AssetCard/AssetCardBase.js.map +1 -0
- package/dist/admin/components/AssetCard/AssetCardBase.mjs +128 -0
- package/dist/admin/components/AssetCard/AssetCardBase.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.js +40 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.mjs +38 -0
- package/dist/admin/components/AssetCard/AudioAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/AudioPreview.js +17 -0
- package/dist/admin/components/AssetCard/AudioPreview.js.map +1 -0
- package/dist/admin/components/AssetCard/AudioPreview.mjs +15 -0
- package/dist/admin/components/AssetCard/AudioPreview.mjs.map +1 -0
- package/dist/admin/components/AssetCard/DocAssetCard.js +61 -0
- package/dist/admin/components/AssetCard/DocAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/DocAssetCard.mjs +59 -0
- package/dist/admin/components/AssetCard/DocAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.js +37 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs +35 -0
- package/dist/admin/components/AssetCard/ImageAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.js +152 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs +131 -0
- package/dist/admin/components/AssetCard/UploadingAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.js +72 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.js.map +1 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs +51 -0
- package/dist/admin/components/AssetCard/VideoAssetCard.mjs.map +1 -0
- package/dist/admin/components/AssetCard/VideoPreview.js +50 -0
- package/dist/admin/components/AssetCard/VideoPreview.js.map +1 -0
- package/dist/admin/components/AssetCard/VideoPreview.mjs +48 -0
- package/dist/admin/components/AssetCard/VideoPreview.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/AssetDialog.js +321 -0
- package/dist/admin/components/AssetDialog/AssetDialog.js.map +1 -0
- package/dist/admin/components/AssetDialog/AssetDialog.mjs +299 -0
- package/dist/admin/components/AssetDialog/AssetDialog.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js +313 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs +311 -0
- package/dist/admin/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js +70 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs +49 -0
- package/dist/admin/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js +58 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs +56 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PageSize.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js +55 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs +33 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js +378 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs +376 -0
- package/dist/admin/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js +102 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs +81 -0
- package/dist/admin/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js +14 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.js.map +1 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs +12 -0
- package/dist/admin/components/AssetDialog/BrowseStep/utils/isSelectable.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/DialogFooter.js +31 -0
- package/dist/admin/components/AssetDialog/DialogFooter.js.map +1 -0
- package/dist/admin/components/AssetDialog/DialogFooter.mjs +29 -0
- package/dist/admin/components/AssetDialog/DialogFooter.mjs.map +1 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js +60 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.js.map +1 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs +58 -0
- package/dist/admin/components/AssetDialog/SelectedStep/SelectedStep.mjs.map +1 -0
- package/dist/admin/components/AssetGridList/AssetGridList.js +72 -0
- package/dist/admin/components/AssetGridList/AssetGridList.js.map +1 -0
- package/dist/admin/components/AssetGridList/AssetGridList.mjs +70 -0
- package/dist/admin/components/AssetGridList/AssetGridList.mjs.map +1 -0
- package/dist/admin/components/AssetGridList/Draggable.js +65 -0
- package/dist/admin/components/AssetGridList/Draggable.js.map +1 -0
- package/dist/admin/components/AssetGridList/Draggable.mjs +44 -0
- package/dist/admin/components/AssetGridList/Draggable.mjs.map +1 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js +49 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.js.map +1 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs +47 -0
- package/dist/admin/components/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js +89 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +68 -0
- package/dist/admin/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js +154 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs +152 -0
- package/dist/admin/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -0
- package/dist/admin/components/ContextInfo/ContextInfo.js +44 -0
- package/dist/admin/components/ContextInfo/ContextInfo.js.map +1 -0
- package/dist/admin/components/ContextInfo/ContextInfo.mjs +42 -0
- package/dist/admin/components/ContextInfo/ContextInfo.mjs.map +1 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js +43 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs +41 -0
- package/dist/admin/components/CopyLinkButton/CopyLinkButton.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.js +20 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.mjs +18 -0
- package/dist/admin/components/EditAssetDialog/DialogHeader.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js +403 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs +380 -0
- package/dist/admin/components/EditAssetDialog/EditAssetContent.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js +127 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs +106 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/AssetPreview.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js +111 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs +109 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/CroppingActions.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js +260 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs +239 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewBox.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js +75 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs +68 -0
- package/dist/admin/components/EditAssetDialog/PreviewBox/PreviewComponents.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js +27 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs +25 -0
- package/dist/admin/components/EditAssetDialog/RemoveAssetDialog.mjs.map +1 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js +79 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.js.map +1 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs +58 -0
- package/dist/admin/components/EditAssetDialog/ReplaceMediaButton.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js +336 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs +313 -0
- package/dist/admin/components/EditFolderDialog/EditFolderDialog.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js +29 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs +27 -0
- package/dist/admin/components/EditFolderDialog/ModalHeader/ModalHeader.mjs.map +1 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js +18 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.js.map +1 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs +16 -0
- package/dist/admin/components/EditFolderDialog/RemoveFolderDialog.mjs.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js +31 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.js.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs +29 -0
- package/dist/admin/components/EmptyAssets/EmptyAssetGrid.mjs.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.js +53 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.js.map +1 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.mjs +51 -0
- package/dist/admin/components/EmptyAssets/EmptyAssets.mjs.map +1 -0
- package/dist/admin/components/FilterList/FilterList.js +74 -0
- package/dist/admin/components/FilterList/FilterList.js.map +1 -0
- package/dist/admin/components/FilterList/FilterList.mjs +72 -0
- package/dist/admin/components/FilterList/FilterList.mjs.map +1 -0
- package/dist/admin/components/FilterList/FilterTag.js +50 -0
- package/dist/admin/components/FilterList/FilterTag.js.map +1 -0
- package/dist/admin/components/FilterList/FilterTag.mjs +48 -0
- package/dist/admin/components/FilterList/FilterTag.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/FilterPopover.js +275 -0
- package/dist/admin/components/FilterPopover/FilterPopover.js.map +1 -0
- package/dist/admin/components/FilterPopover/FilterPopover.mjs +254 -0
- package/dist/admin/components/FilterPopover/FilterPopover.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.js +39 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.js.map +1 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.mjs +37 -0
- package/dist/admin/components/FilterPopover/FilterValueInput.mjs.map +1 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.js +114 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.js.map +1 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.mjs +112 -0
- package/dist/admin/components/FilterPopover/utils/getFilterList.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js +125 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs +104 -0
- package/dist/admin/components/FolderCard/FolderCard/FolderCard.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js +26 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs +24 -0
- package/dist/admin/components/FolderCard/FolderCardBody/FolderCardBody.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js +40 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs +38 -0
- package/dist/admin/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.mjs.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js +20 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.js.map +1 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs +18 -0
- package/dist/admin/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.mjs.map +1 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.js +12 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.js.map +1 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.mjs +9 -0
- package/dist/admin/components/FolderCard/contexts/FolderCard.mjs.map +1 -0
- package/dist/admin/components/FolderGridList/FolderGridList.js +29 -0
- package/dist/admin/components/FolderGridList/FolderGridList.js.map +1 -0
- package/dist/admin/components/FolderGridList/FolderGridList.mjs +27 -0
- package/dist/admin/components/FolderGridList/FolderGridList.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js +71 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs +50 -0
- package/dist/admin/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js +78 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs +76 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAsset.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js +52 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs +50 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssetActions.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js +112 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs +91 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/CarouselAssets.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js +116 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs +95 -0
- package/dist/admin/components/MediaLibraryInput/Carousel/EmptyStateAsset.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +216 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +195 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
- package/dist/admin/components/SelectTree/Option.js +70 -0
- package/dist/admin/components/SelectTree/Option.js.map +1 -0
- package/dist/admin/components/SelectTree/Option.mjs +68 -0
- package/dist/admin/components/SelectTree/Option.mjs.map +1 -0
- package/dist/admin/components/SelectTree/SelectTree.js +276 -0
- package/dist/admin/components/SelectTree/SelectTree.js.map +1 -0
- package/dist/admin/components/SelectTree/SelectTree.mjs +255 -0
- package/dist/admin/components/SelectTree/SelectTree.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.js +19 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs +17 -0
- package/dist/admin/components/SelectTree/utils/flattenTree.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.js +24 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.mjs +22 -0
- package/dist/admin/components/SelectTree/utils/getOpenValues.mjs.map +1 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.js +12 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.js.map +1 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs +10 -0
- package/dist/admin/components/SelectTree/utils/getValuesToClose.mjs.map +1 -0
- package/dist/admin/components/SortPicker/SortPicker.js +39 -0
- package/dist/admin/components/SortPicker/SortPicker.js.map +1 -0
- package/dist/admin/components/SortPicker/SortPicker.mjs +37 -0
- package/dist/admin/components/SortPicker/SortPicker.mjs.map +1 -0
- package/dist/admin/components/TableList/CellContent.js +76 -0
- package/dist/admin/components/TableList/CellContent.js.map +1 -0
- package/dist/admin/components/TableList/CellContent.mjs +74 -0
- package/dist/admin/components/TableList/CellContent.mjs.map +1 -0
- package/dist/admin/components/TableList/PreviewCell.js +82 -0
- package/dist/admin/components/TableList/PreviewCell.js.map +1 -0
- package/dist/admin/components/TableList/PreviewCell.mjs +80 -0
- package/dist/admin/components/TableList/PreviewCell.mjs.map +1 -0
- package/dist/admin/components/TableList/TableList.js +99 -0
- package/dist/admin/components/TableList/TableList.js.map +1 -0
- package/dist/admin/components/TableList/TableList.mjs +97 -0
- package/dist/admin/components/TableList/TableList.mjs.map +1 -0
- package/dist/admin/components/TableList/TableRows.js +101 -0
- package/dist/admin/components/TableList/TableRows.js.map +1 -0
- package/dist/admin/components/TableList/TableRows.mjs +99 -0
- package/dist/admin/components/TableList/TableRows.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js +84 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs +82 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/AddAssetStep.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js +203 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs +182 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromComputerForm.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +127 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +106 -0
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +206 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs +185 -0
- package/dist/admin/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.mjs.map +1 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js +129 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs +108 -0
- package/dist/admin/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -0
- package/dist/admin/components/UploadProgress/UploadProgress.js +88 -0
- package/dist/admin/components/UploadProgress/UploadProgress.js.map +1 -0
- package/dist/admin/components/UploadProgress/UploadProgress.mjs +86 -0
- package/dist/admin/components/UploadProgress/UploadProgress.mjs.map +1 -0
- package/dist/admin/constants.js +205 -0
- package/dist/admin/constants.js.map +1 -0
- package/dist/admin/constants.mjs +198 -0
- package/dist/admin/constants.mjs.map +1 -0
- package/dist/admin/hooks/useAssets.js +124 -0
- package/dist/admin/hooks/useAssets.js.map +1 -0
- package/dist/admin/hooks/useAssets.mjs +103 -0
- package/dist/admin/hooks/useAssets.mjs.map +1 -0
- package/dist/admin/hooks/useBulkMove.js +79 -0
- package/dist/admin/hooks/useBulkMove.js.map +1 -0
- package/dist/admin/hooks/useBulkMove.mjs +77 -0
- package/dist/admin/hooks/useBulkMove.mjs.map +1 -0
- package/dist/admin/hooks/useBulkRemove.js +79 -0
- package/dist/admin/hooks/useBulkRemove.js.map +1 -0
- package/dist/admin/hooks/useBulkRemove.mjs +77 -0
- package/dist/admin/hooks/useBulkRemove.mjs.map +1 -0
- package/dist/admin/hooks/useConfig.js +57 -0
- package/dist/admin/hooks/useConfig.js.map +1 -0
- package/dist/admin/hooks/useConfig.mjs +55 -0
- package/dist/admin/hooks/useConfig.mjs.map +1 -0
- package/dist/admin/hooks/useCropImg.js +96 -0
- package/dist/admin/hooks/useCropImg.js.map +1 -0
- package/dist/admin/hooks/useCropImg.mjs +75 -0
- package/dist/admin/hooks/useCropImg.mjs.map +1 -0
- package/dist/admin/hooks/useEditAsset.js +114 -0
- package/dist/admin/hooks/useEditAsset.js.map +1 -0
- package/dist/admin/hooks/useEditAsset.mjs +93 -0
- package/dist/admin/hooks/useEditAsset.mjs.map +1 -0
- package/dist/admin/hooks/useEditFolder.js +44 -0
- package/dist/admin/hooks/useEditFolder.js.map +1 -0
- package/dist/admin/hooks/useEditFolder.mjs +42 -0
- package/dist/admin/hooks/useEditFolder.mjs.map +1 -0
- package/dist/admin/hooks/useFolder.js +58 -0
- package/dist/admin/hooks/useFolder.js.map +1 -0
- package/dist/admin/hooks/useFolder.mjs +56 -0
- package/dist/admin/hooks/useFolder.mjs.map +1 -0
- package/dist/admin/hooks/useFolderStructure.js +53 -0
- package/dist/admin/hooks/useFolderStructure.js.map +1 -0
- package/dist/admin/hooks/useFolderStructure.mjs +51 -0
- package/dist/admin/hooks/useFolderStructure.mjs.map +1 -0
- package/dist/admin/hooks/useFolders.js +107 -0
- package/dist/admin/hooks/useFolders.js.map +1 -0
- package/dist/admin/hooks/useFolders.mjs +86 -0
- package/dist/admin/hooks/useFolders.mjs.map +1 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.js +16 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs +14 -0
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -0
- package/dist/admin/hooks/useModalQueryParams.js +138 -0
- package/dist/admin/hooks/useModalQueryParams.js.map +1 -0
- package/dist/admin/hooks/useModalQueryParams.mjs +117 -0
- package/dist/admin/hooks/useModalQueryParams.mjs.map +1 -0
- package/dist/admin/hooks/usePersistentState.js +31 -0
- package/dist/admin/hooks/usePersistentState.js.map +1 -0
- package/dist/admin/hooks/usePersistentState.mjs +29 -0
- package/dist/admin/hooks/usePersistentState.mjs.map +1 -0
- package/dist/admin/hooks/useRemoveAsset.js +53 -0
- package/dist/admin/hooks/useRemoveAsset.js.map +1 -0
- package/dist/admin/hooks/useRemoveAsset.mjs +51 -0
- package/dist/admin/hooks/useRemoveAsset.mjs.map +1 -0
- package/dist/admin/hooks/useSelectionState.js +85 -0
- package/dist/admin/hooks/useSelectionState.js.map +1 -0
- package/dist/admin/hooks/useSelectionState.mjs +64 -0
- package/dist/admin/hooks/useSelectionState.mjs.map +1 -0
- package/dist/admin/hooks/useUpload.js +86 -0
- package/dist/admin/hooks/useUpload.js.map +1 -0
- package/dist/admin/hooks/useUpload.mjs +65 -0
- package/dist/admin/hooks/useUpload.mjs.map +1 -0
- package/dist/admin/hooks/utils/renameKeys.js +12 -0
- package/dist/admin/hooks/utils/renameKeys.js.map +1 -0
- package/dist/admin/hooks/utils/renameKeys.mjs +10 -0
- package/dist/admin/hooks/utils/renameKeys.mjs.map +1 -0
- package/dist/admin/index.js +104 -22
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +105 -21
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/package.json.js +161 -0
- package/dist/admin/package.json.js.map +1 -0
- package/dist/admin/package.json.mjs +143 -0
- package/dist/admin/package.json.mjs.map +1 -0
- package/dist/admin/pages/App/App.js +94 -0
- package/dist/admin/pages/App/App.js.map +1 -0
- package/dist/admin/pages/App/App.mjs +73 -0
- package/dist/admin/pages/App/App.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js +142 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs +121 -0
- package/dist/admin/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js +108 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs +106 -0
- package/dist/admin/pages/App/ConfigureTheView/components/Settings.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js +10 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs +7 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actionTypes.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.js +16 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs +13 -0
- package/dist/admin/pages/App/ConfigureTheView/state/actions.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.js +17 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.mjs +14 -0
- package/dist/admin/pages/App/ConfigureTheView/state/init.mjs.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js +40 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.js.map +1 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs +38 -0
- package/dist/admin/pages/App/ConfigureTheView/state/reducer.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js +453 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs +432 -0
- package/dist/admin/pages/App/MediaLibrary/MediaLibrary.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.js +49 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.mjs +47 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkActions.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.js +38 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.mjs +36 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkDeleteButton.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.js +61 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.mjs +40 -0
- package/dist/admin/pages/App/MediaLibrary/components/BulkMoveButton.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.js +66 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.mjs +64 -0
- package/dist/admin/pages/App/MediaLibrary/components/EmptyOrNoPermissions.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.js +94 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.mjs +73 -0
- package/dist/admin/pages/App/MediaLibrary/components/Filters.mjs.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.js +76 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.js.map +1 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs +74 -0
- package/dist/admin/pages/App/MediaLibrary/components/Header.mjs.map +1 -0
- package/dist/admin/{chunks/SettingsPage-DcdF16oj.js → pages/SettingsPage/SettingsPage.js} +18 -67
- package/dist/admin/pages/SettingsPage/SettingsPage.js.map +1 -0
- package/dist/admin/{chunks/SettingsPage-kY2dZHnP.mjs → pages/SettingsPage/SettingsPage.mjs} +6 -55
- package/dist/admin/pages/SettingsPage/SettingsPage.mjs.map +1 -0
- package/dist/admin/pages/SettingsPage/init.js +8 -0
- package/dist/admin/pages/SettingsPage/init.js.map +1 -0
- package/dist/admin/pages/SettingsPage/init.mjs +6 -0
- package/dist/admin/pages/SettingsPage/init.mjs.map +1 -0
- package/dist/admin/pages/SettingsPage/reducer.js +43 -0
- package/dist/admin/pages/SettingsPage/reducer.js.map +1 -0
- package/dist/admin/pages/SettingsPage/reducer.mjs +40 -0
- package/dist/admin/pages/SettingsPage/reducer.mjs.map +1 -0
- package/dist/admin/pluginId.js +8 -0
- package/dist/admin/pluginId.js.map +1 -0
- package/dist/admin/pluginId.mjs +6 -0
- package/dist/admin/pluginId.mjs.map +1 -0
- package/dist/admin/{chunks/ca-pCOhKIn8.js → translations/ca.json.js} +2 -2
- package/dist/admin/translations/ca.json.js.map +1 -0
- package/dist/admin/{chunks/ca-Bi4qskZD.mjs → translations/ca.json.mjs} +1 -1
- package/dist/admin/translations/ca.json.mjs.map +1 -0
- package/dist/admin/{chunks/de-DUjKLmOP.js → translations/de.json.js} +2 -2
- package/dist/admin/translations/de.json.js.map +1 -0
- package/dist/admin/{chunks/de-BlbX8Dl_.mjs → translations/de.json.mjs} +1 -1
- package/dist/admin/translations/de.json.mjs.map +1 -0
- package/dist/admin/{chunks/dk-DSsspA0e.js → translations/dk.json.js} +2 -2
- package/dist/admin/translations/dk.json.js.map +1 -0
- package/dist/admin/{chunks/dk-C2ydE6A7.mjs → translations/dk.json.mjs} +1 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -0
- package/dist/admin/{chunks/en-UjETkewz.js → translations/en.json.js} +2 -2
- package/dist/admin/translations/en.json.js.map +1 -0
- package/dist/admin/{chunks/en-Bw_Cb2IV.mjs → translations/en.json.mjs} +1 -1
- package/dist/admin/translations/en.json.mjs.map +1 -0
- package/dist/admin/{chunks/es-qAL8YcZz.js → translations/es.json.js} +2 -2
- package/dist/admin/translations/es.json.js.map +1 -0
- package/dist/admin/{chunks/es-CiEgbw0k.mjs → translations/es.json.mjs} +1 -1
- package/dist/admin/translations/es.json.mjs.map +1 -0
- package/dist/admin/{chunks/fr-BL0Uyj6j.js → translations/fr.json.js} +2 -2
- package/dist/admin/translations/fr.json.js.map +1 -0
- package/dist/admin/{chunks/fr-CwRt2FJu.mjs → translations/fr.json.mjs} +1 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -0
- package/dist/admin/{chunks/he-BAmhVpfZ.js → translations/he.json.js} +2 -2
- package/dist/admin/translations/he.json.js.map +1 -0
- package/dist/admin/{chunks/he-DdpYNQdt.mjs → translations/he.json.mjs} +1 -1
- package/dist/admin/translations/he.json.mjs.map +1 -0
- package/dist/admin/{chunks/it-_NQZYepl.js → translations/it.json.js} +2 -2
- package/dist/admin/translations/it.json.js.map +1 -0
- package/dist/admin/{chunks/it-Be4kgSNB.mjs → translations/it.json.mjs} +1 -1
- package/dist/admin/translations/it.json.mjs.map +1 -0
- package/dist/admin/{chunks/ja-B75QiyXf.js → translations/ja.json.js} +2 -2
- package/dist/admin/translations/ja.json.js.map +1 -0
- package/dist/admin/{chunks/ja-U1NhT0bU.mjs → translations/ja.json.mjs} +1 -1
- package/dist/admin/translations/ja.json.mjs.map +1 -0
- package/dist/admin/{chunks/ko-BOvUcJqv.js → translations/ko.json.js} +2 -2
- package/dist/admin/translations/ko.json.js.map +1 -0
- package/dist/admin/{chunks/ko-BciqXefq.mjs → translations/ko.json.mjs} +1 -1
- package/dist/admin/translations/ko.json.mjs.map +1 -0
- package/dist/admin/{chunks/ms-B7Zl6Lm9.js → translations/ms.json.js} +2 -2
- package/dist/admin/translations/ms.json.js.map +1 -0
- package/dist/admin/{chunks/ms-D-8McNeg.mjs → translations/ms.json.mjs} +1 -1
- package/dist/admin/translations/ms.json.mjs.map +1 -0
- package/dist/admin/{chunks/pl-cYDYHOEf.js → translations/pl.json.js} +2 -2
- package/dist/admin/translations/pl.json.js.map +1 -0
- package/dist/admin/{chunks/pl-DdUYocl5.mjs → translations/pl.json.mjs} +1 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-BR-D1u_azCM.js → translations/pt-BR.json.js} +2 -2
- package/dist/admin/translations/pt-BR.json.js.map +1 -0
- package/dist/admin/{chunks/pt-BR-Demjoq41.mjs → translations/pt-BR.json.mjs} +1 -1
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
- package/dist/admin/{chunks/pt-L2DZeTPL.js → translations/pt.json.js} +2 -2
- package/dist/admin/translations/pt.json.js.map +1 -0
- package/dist/admin/{chunks/pt-D8is2LpS.mjs → translations/pt.json.mjs} +1 -1
- package/dist/admin/translations/pt.json.mjs.map +1 -0
- package/dist/admin/{chunks/ru-Uxbk_WWv.js → translations/ru.json.js} +2 -2
- package/dist/admin/translations/ru.json.js.map +1 -0
- package/dist/admin/{chunks/ru-CGgHRTey.mjs → translations/ru.json.mjs} +1 -1
- package/dist/admin/translations/ru.json.mjs.map +1 -0
- package/dist/admin/{chunks/sk-BlLP5HAX.js → translations/sk.json.js} +2 -2
- package/dist/admin/translations/sk.json.js.map +1 -0
- package/dist/admin/{chunks/sk-xtSwaPXq.mjs → translations/sk.json.mjs} +1 -1
- package/dist/admin/translations/sk.json.mjs.map +1 -0
- package/dist/admin/{chunks/th-DNxPLegS.js → translations/th.json.js} +2 -2
- package/dist/admin/translations/th.json.js.map +1 -0
- package/dist/admin/{chunks/th-BOpLVfmg.mjs → translations/th.json.mjs} +1 -1
- package/dist/admin/translations/th.json.mjs.map +1 -0
- package/dist/admin/{chunks/tr-DWgXG75k.js → translations/tr.json.js} +2 -2
- package/dist/admin/translations/tr.json.js.map +1 -0
- package/dist/admin/{chunks/tr-BmAPh-f1.mjs → translations/tr.json.mjs} +1 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -0
- package/dist/admin/{chunks/uk-Cfm1dM3v.js → translations/uk.json.js} +2 -2
- package/dist/admin/translations/uk.json.js.map +1 -0
- package/dist/admin/{chunks/uk-DPZD6U8g.mjs → translations/uk.json.mjs} +1 -1
- package/dist/admin/translations/uk.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-Hans-B8qxMQIl.js → translations/zh-Hans.json.js} +2 -2
- package/dist/admin/{chunks/ca-Bi4qskZD.mjs.map → translations/zh-Hans.json.js.map} +1 -1
- package/dist/admin/{chunks/zh-Hans-B1GabBRx.mjs → translations/zh-Hans.json.mjs} +1 -1
- package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
- package/dist/admin/{chunks/zh-MemsyMV6.js → translations/zh.json.js} +2 -2
- package/dist/admin/translations/zh.json.js.map +1 -0
- package/dist/admin/{chunks/zh-BIl0qgBy.mjs → translations/zh.json.mjs} +1 -1
- package/dist/admin/translations/zh.json.mjs.map +1 -0
- package/dist/admin/utils/appendSearchParamsToUrl.js +17 -0
- package/dist/admin/utils/appendSearchParamsToUrl.js.map +1 -0
- package/dist/admin/utils/appendSearchParamsToUrl.mjs +15 -0
- package/dist/admin/utils/appendSearchParamsToUrl.mjs.map +1 -0
- package/dist/admin/utils/containsAssetFilter.js +18 -0
- package/dist/admin/utils/containsAssetFilter.js.map +1 -0
- package/dist/admin/utils/containsAssetFilter.mjs +16 -0
- package/dist/admin/utils/containsAssetFilter.mjs.map +1 -0
- package/dist/admin/utils/createAssetUrl.js +14 -0
- package/dist/admin/utils/createAssetUrl.js.map +1 -0
- package/dist/admin/utils/createAssetUrl.mjs +12 -0
- package/dist/admin/utils/createAssetUrl.mjs.map +1 -0
- package/dist/admin/utils/displayedFilters.js +52 -0
- package/dist/admin/utils/displayedFilters.js.map +1 -0
- package/dist/admin/utils/displayedFilters.mjs +50 -0
- package/dist/admin/utils/displayedFilters.mjs.map +1 -0
- package/dist/admin/utils/downloadFile.js +13 -0
- package/dist/admin/utils/downloadFile.js.map +1 -0
- package/dist/admin/utils/downloadFile.mjs +11 -0
- package/dist/admin/utils/downloadFile.mjs.map +1 -0
- package/dist/admin/utils/findRecursiveFolderByValue.js +17 -0
- package/dist/admin/utils/findRecursiveFolderByValue.js.map +1 -0
- package/dist/admin/utils/findRecursiveFolderByValue.mjs +15 -0
- package/dist/admin/utils/findRecursiveFolderByValue.mjs.map +1 -0
- package/dist/admin/utils/formatBytes.js +17 -0
- package/dist/admin/utils/formatBytes.js.map +1 -0
- package/dist/admin/utils/formatBytes.mjs +15 -0
- package/dist/admin/utils/formatBytes.mjs.map +1 -0
- package/dist/admin/utils/formatDuration.js +15 -0
- package/dist/admin/utils/formatDuration.js.map +1 -0
- package/dist/admin/utils/formatDuration.mjs +13 -0
- package/dist/admin/utils/formatDuration.mjs.map +1 -0
- package/dist/admin/utils/getAPIInnerErrors.js +26 -0
- package/dist/admin/utils/getAPIInnerErrors.js.map +1 -0
- package/dist/admin/utils/getAPIInnerErrors.mjs +24 -0
- package/dist/admin/utils/getAPIInnerErrors.mjs.map +1 -0
- package/dist/admin/utils/getAllowedFiles.js +25 -0
- package/dist/admin/utils/getAllowedFiles.js.map +1 -0
- package/dist/admin/utils/getAllowedFiles.mjs +23 -0
- package/dist/admin/utils/getAllowedFiles.mjs.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataCM.js +36 -0
- package/dist/admin/utils/getBreadcrumbDataCM.js.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataCM.mjs +34 -0
- package/dist/admin/utils/getBreadcrumbDataCM.mjs.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataML.js +40 -0
- package/dist/admin/utils/getBreadcrumbDataML.js.map +1 -0
- package/dist/admin/utils/getBreadcrumbDataML.mjs +38 -0
- package/dist/admin/utils/getBreadcrumbDataML.mjs.map +1 -0
- package/dist/admin/utils/getFileExtension.js +6 -0
- package/dist/admin/utils/getFileExtension.js.map +1 -0
- package/dist/admin/utils/getFileExtension.mjs +4 -0
- package/dist/admin/utils/getFileExtension.mjs.map +1 -0
- package/dist/admin/utils/getFolderParents.js +26 -0
- package/dist/admin/utils/getFolderParents.js.map +1 -0
- package/dist/admin/utils/getFolderParents.mjs +24 -0
- package/dist/admin/utils/getFolderParents.mjs.map +1 -0
- package/dist/admin/utils/getFolderURL.js +20 -0
- package/dist/admin/utils/getFolderURL.js.map +1 -0
- package/dist/admin/utils/getFolderURL.mjs +18 -0
- package/dist/admin/utils/getFolderURL.mjs.map +1 -0
- package/dist/admin/utils/getTrad.js +8 -0
- package/dist/admin/utils/getTrad.js.map +1 -0
- package/dist/admin/utils/getTrad.mjs +6 -0
- package/dist/admin/utils/getTrad.mjs.map +1 -0
- package/dist/admin/utils/moveElement.js +16 -0
- package/dist/admin/utils/moveElement.js.map +1 -0
- package/dist/admin/utils/moveElement.mjs +14 -0
- package/dist/admin/utils/moveElement.mjs.map +1 -0
- package/dist/admin/utils/normalizeAPIError.js +55 -0
- package/dist/admin/utils/normalizeAPIError.js.map +1 -0
- package/dist/admin/utils/normalizeAPIError.mjs +53 -0
- package/dist/admin/utils/normalizeAPIError.mjs.map +1 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js +8 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.js.map +1 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs +6 -0
- package/dist/admin/utils/prefixFileUrlWithBackendUrl.mjs.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.js +14 -0
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs +12 -0
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
- package/dist/admin/utils/rawFileToAsset.js +21 -0
- package/dist/admin/utils/rawFileToAsset.js.map +1 -0
- package/dist/admin/utils/rawFileToAsset.mjs +19 -0
- package/dist/admin/utils/rawFileToAsset.mjs.map +1 -0
- package/dist/admin/utils/toSingularTypes.js +11 -0
- package/dist/admin/utils/toSingularTypes.js.map +1 -0
- package/dist/admin/utils/toSingularTypes.mjs +9 -0
- package/dist/admin/utils/toSingularTypes.mjs.map +1 -0
- package/dist/admin/utils/typeFromMime.js +19 -0
- package/dist/admin/utils/typeFromMime.js.map +1 -0
- package/dist/admin/utils/typeFromMime.mjs +17 -0
- package/dist/admin/utils/typeFromMime.mjs.map +1 -0
- package/dist/admin/utils/urlYupSchema.js +72 -0
- package/dist/admin/utils/urlYupSchema.js.map +1 -0
- package/dist/admin/utils/urlYupSchema.mjs +51 -0
- package/dist/admin/utils/urlYupSchema.mjs.map +1 -0
- package/dist/admin/utils/urlsToAssets.js +39 -0
- package/dist/admin/utils/urlsToAssets.js.map +1 -0
- package/dist/admin/utils/urlsToAssets.mjs +37 -0
- package/dist/admin/utils/urlsToAssets.mjs.map +1 -0
- package/dist/server/bootstrap.js +98 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/bootstrap.mjs +96 -0
- package/dist/server/bootstrap.mjs.map +1 -0
- package/dist/server/config.js +14 -0
- package/dist/server/config.js.map +1 -0
- package/dist/server/config.mjs +12 -0
- package/dist/server/config.mjs.map +1 -0
- package/dist/server/constants.js +35 -0
- package/dist/server/constants.js.map +1 -0
- package/dist/server/constants.mjs +28 -0
- package/dist/server/constants.mjs.map +1 -0
- package/dist/server/content-types/file.js +155 -0
- package/dist/server/content-types/file.js.map +1 -0
- package/dist/server/content-types/file.mjs +153 -0
- package/dist/server/content-types/file.mjs.map +1 -0
- package/dist/server/content-types/folder.js +78 -0
- package/dist/server/content-types/folder.js.map +1 -0
- package/dist/server/content-types/folder.mjs +76 -0
- package/dist/server/content-types/folder.mjs.map +1 -0
- package/dist/server/content-types/index.js +12 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/index.mjs +10 -0
- package/dist/server/content-types/index.mjs.map +1 -0
- package/dist/server/controllers/admin-file.js +61 -0
- package/dist/server/controllers/admin-file.js.map +1 -0
- package/dist/server/controllers/admin-file.mjs +59 -0
- package/dist/server/controllers/admin-file.mjs.map +1 -0
- package/dist/server/controllers/admin-folder-file.js +189 -0
- package/dist/server/controllers/admin-folder-file.js.map +1 -0
- package/dist/server/controllers/admin-folder-file.mjs +187 -0
- package/dist/server/controllers/admin-folder-file.mjs.map +1 -0
- package/dist/server/controllers/admin-folder.js +104 -0
- package/dist/server/controllers/admin-folder.js.map +1 -0
- package/dist/server/controllers/admin-folder.mjs +102 -0
- package/dist/server/controllers/admin-folder.mjs.map +1 -0
- package/dist/server/controllers/admin-settings.js +32 -0
- package/dist/server/controllers/admin-settings.js.map +1 -0
- package/dist/server/controllers/admin-settings.mjs +30 -0
- package/dist/server/controllers/admin-settings.mjs.map +1 -0
- package/dist/server/controllers/admin-upload.js +88 -0
- package/dist/server/controllers/admin-upload.js.map +1 -0
- package/dist/server/controllers/admin-upload.mjs +86 -0
- package/dist/server/controllers/admin-upload.mjs.map +1 -0
- package/dist/server/controllers/content-api.js +122 -0
- package/dist/server/controllers/content-api.js.map +1 -0
- package/dist/server/controllers/content-api.mjs +120 -0
- package/dist/server/controllers/content-api.mjs.map +1 -0
- package/dist/server/controllers/index.js +22 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/index.mjs +20 -0
- package/dist/server/controllers/index.mjs.map +1 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js +38 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.js.map +1 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs +36 -0
- package/dist/server/controllers/utils/find-entity-and-check-permissions.mjs.map +1 -0
- package/dist/server/controllers/utils/folders.js +6 -0
- package/dist/server/controllers/utils/folders.js.map +1 -0
- package/dist/server/controllers/utils/folders.mjs +4 -0
- package/dist/server/controllers/utils/folders.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/configureView.js +13 -0
- package/dist/server/controllers/validation/admin/configureView.js.map +1 -0
- package/dist/server/controllers/validation/admin/configureView.mjs +11 -0
- package/dist/server/controllers/validation/admin/configureView.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/folder-file.js +88 -0
- package/dist/server/controllers/validation/admin/folder-file.js.map +1 -0
- package/dist/server/controllers/validation/admin/folder-file.mjs +85 -0
- package/dist/server/controllers/validation/admin/folder-file.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/folder.js +69 -0
- package/dist/server/controllers/validation/admin/folder.js.map +1 -0
- package/dist/server/controllers/validation/admin/folder.mjs +66 -0
- package/dist/server/controllers/validation/admin/folder.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/settings.js +13 -0
- package/dist/server/controllers/validation/admin/settings.js.map +1 -0
- package/dist/server/controllers/validation/admin/settings.mjs +11 -0
- package/dist/server/controllers/validation/admin/settings.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/upload.js +35 -0
- package/dist/server/controllers/validation/admin/upload.js.map +1 -0
- package/dist/server/controllers/validation/admin/upload.mjs +33 -0
- package/dist/server/controllers/validation/admin/upload.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/utils.js +17 -0
- package/dist/server/controllers/validation/admin/utils.js.map +1 -0
- package/dist/server/controllers/validation/admin/utils.mjs +15 -0
- package/dist/server/controllers/validation/admin/utils.mjs.map +1 -0
- package/dist/server/controllers/validation/content-api/upload.js +24 -0
- package/dist/server/controllers/validation/content-api/upload.js.map +1 -0
- package/dist/server/controllers/validation/content-api/upload.mjs +22 -0
- package/dist/server/controllers/validation/content-api/upload.mjs.map +1 -0
- package/dist/server/controllers/view-configuration.js +28 -0
- package/dist/server/controllers/view-configuration.js.map +1 -0
- package/dist/server/controllers/view-configuration.mjs +26 -0
- package/dist/server/controllers/view-configuration.mjs.map +1 -0
- package/dist/server/documentation/content-api.json.js +290 -0
- package/dist/server/documentation/content-api.json.js.map +1 -0
- package/dist/server/documentation/content-api.json.mjs +284 -0
- package/dist/server/documentation/content-api.json.mjs.map +1 -0
- package/dist/server/{chunks/graphql-CwNPX8zo.js → graphql.js} +3 -16
- package/dist/server/graphql.js.map +1 -0
- package/dist/server/{chunks/graphql-K9HaGS9d.mjs → graphql.mjs} +2 -15
- package/dist/server/graphql.mjs.map +1 -0
- package/dist/server/index.js +17 -16
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +19 -14
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/middlewares/upload.js +38 -0
- package/dist/server/middlewares/upload.js.map +1 -0
- package/dist/server/middlewares/upload.mjs +36 -0
- package/dist/server/middlewares/upload.mjs.map +1 -0
- package/dist/server/register.js +88 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/register.mjs +86 -0
- package/dist/server/register.mjs.map +1 -0
- package/dist/server/routes/admin.js +236 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/admin.mjs +234 -0
- package/dist/server/routes/admin.mjs.map +1 -0
- package/dist/server/routes/content-api.js +30 -0
- package/dist/server/routes/content-api.js.map +1 -0
- package/dist/server/routes/content-api.mjs +28 -0
- package/dist/server/routes/content-api.mjs.map +1 -0
- package/dist/server/routes/index.js +14 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/index.mjs +12 -0
- package/dist/server/routes/index.mjs.map +1 -0
- package/dist/server/routes/view-configuration.js +40 -0
- package/dist/server/routes/view-configuration.js.map +1 -0
- package/dist/server/routes/view-configuration.mjs +38 -0
- package/dist/server/routes/view-configuration.mjs.map +1 -0
- package/dist/server/services/api-upload-folder.js +52 -0
- package/dist/server/services/api-upload-folder.js.map +1 -0
- package/dist/server/services/api-upload-folder.mjs +50 -0
- package/dist/server/services/api-upload-folder.mjs.map +1 -0
- package/dist/server/services/extensions/index.js +40 -0
- package/dist/server/services/extensions/index.js.map +1 -0
- package/dist/server/services/extensions/index.mjs +38 -0
- package/dist/server/services/extensions/index.mjs.map +1 -0
- package/dist/server/services/extensions/utils.js +53 -0
- package/dist/server/services/extensions/utils.js.map +1 -0
- package/dist/server/services/extensions/utils.mjs +51 -0
- package/dist/server/services/extensions/utils.mjs.map +1 -0
- package/dist/server/services/file.js +57 -0
- package/dist/server/services/file.js.map +1 -0
- package/dist/server/services/file.mjs +55 -0
- package/dist/server/services/file.mjs.map +1 -0
- package/dist/server/services/folder.js +275 -0
- package/dist/server/services/folder.js.map +1 -0
- package/dist/server/services/folder.mjs +273 -0
- package/dist/server/services/folder.mjs.map +1 -0
- package/dist/server/services/image-manipulation.js +255 -0
- package/dist/server/services/image-manipulation.js.map +1 -0
- package/dist/server/services/image-manipulation.mjs +253 -0
- package/dist/server/services/image-manipulation.mjs.map +1 -0
- package/dist/server/services/index.js +26 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/index.mjs +24 -0
- package/dist/server/services/index.mjs.map +1 -0
- package/dist/server/services/metrics.js +19 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/metrics.mjs +17 -0
- package/dist/server/services/metrics.mjs.map +1 -0
- package/dist/server/services/provider.js +33 -0
- package/dist/server/services/provider.js.map +1 -0
- package/dist/server/services/provider.mjs +31 -0
- package/dist/server/services/provider.mjs.map +1 -0
- package/dist/server/services/upload.js +445 -0
- package/dist/server/services/upload.js.map +1 -0
- package/dist/server/services/upload.mjs +443 -0
- package/dist/server/services/upload.mjs.map +1 -0
- package/dist/server/services/weekly-metrics.js +127 -0
- package/dist/server/services/weekly-metrics.js.map +1 -0
- package/dist/server/services/weekly-metrics.mjs +125 -0
- package/dist/server/services/weekly-metrics.mjs.map +1 -0
- package/dist/server/utils/cron.js +6 -0
- package/dist/server/utils/cron.js.map +1 -0
- package/dist/server/utils/cron.mjs +4 -0
- package/dist/server/utils/cron.mjs.map +1 -0
- package/dist/server/utils/index.js +8 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/index.mjs +6 -0
- package/dist/server/utils/index.mjs.map +1 -0
- package/package.json +5 -5
- package/dist/admin/chunks/App-G8sLZSN0.js +0 -993
- package/dist/admin/chunks/App-G8sLZSN0.js.map +0 -1
- package/dist/admin/chunks/App-h5xGw9X8.mjs +0 -972
- package/dist/admin/chunks/App-h5xGw9X8.mjs.map +0 -1
- package/dist/admin/chunks/ConfigureTheView-CO72K73d.mjs +0 -276
- package/dist/admin/chunks/ConfigureTheView-CO72K73d.mjs.map +0 -1
- package/dist/admin/chunks/ConfigureTheView-D9XLMDtA.js +0 -297
- package/dist/admin/chunks/ConfigureTheView-D9XLMDtA.js.map +0 -1
- package/dist/admin/chunks/SettingsPage-DcdF16oj.js.map +0 -1
- package/dist/admin/chunks/SettingsPage-kY2dZHnP.mjs.map +0 -1
- package/dist/admin/chunks/ca-pCOhKIn8.js.map +0 -1
- package/dist/admin/chunks/de-BlbX8Dl_.mjs.map +0 -1
- package/dist/admin/chunks/de-DUjKLmOP.js.map +0 -1
- package/dist/admin/chunks/dk-C2ydE6A7.mjs.map +0 -1
- package/dist/admin/chunks/dk-DSsspA0e.js.map +0 -1
- package/dist/admin/chunks/en-Bw_Cb2IV.mjs.map +0 -1
- package/dist/admin/chunks/en-UjETkewz.js.map +0 -1
- package/dist/admin/chunks/es-CiEgbw0k.mjs.map +0 -1
- package/dist/admin/chunks/es-qAL8YcZz.js.map +0 -1
- package/dist/admin/chunks/fr-BL0Uyj6j.js.map +0 -1
- package/dist/admin/chunks/fr-CwRt2FJu.mjs.map +0 -1
- package/dist/admin/chunks/he-BAmhVpfZ.js.map +0 -1
- package/dist/admin/chunks/he-DdpYNQdt.mjs.map +0 -1
- package/dist/admin/chunks/index-BUqiOq3Y.mjs +0 -7349
- package/dist/admin/chunks/index-BUqiOq3Y.mjs.map +0 -1
- package/dist/admin/chunks/index-DDQjAhM2.js +0 -7406
- package/dist/admin/chunks/index-DDQjAhM2.js.map +0 -1
- package/dist/admin/chunks/it-Be4kgSNB.mjs.map +0 -1
- package/dist/admin/chunks/it-_NQZYepl.js.map +0 -1
- package/dist/admin/chunks/ja-B75QiyXf.js.map +0 -1
- package/dist/admin/chunks/ja-U1NhT0bU.mjs.map +0 -1
- package/dist/admin/chunks/ko-BOvUcJqv.js.map +0 -1
- package/dist/admin/chunks/ko-BciqXefq.mjs.map +0 -1
- package/dist/admin/chunks/ms-B7Zl6Lm9.js.map +0 -1
- package/dist/admin/chunks/ms-D-8McNeg.mjs.map +0 -1
- package/dist/admin/chunks/pl-DdUYocl5.mjs.map +0 -1
- package/dist/admin/chunks/pl-cYDYHOEf.js.map +0 -1
- package/dist/admin/chunks/pt-BR-D1u_azCM.js.map +0 -1
- package/dist/admin/chunks/pt-BR-Demjoq41.mjs.map +0 -1
- package/dist/admin/chunks/pt-D8is2LpS.mjs.map +0 -1
- package/dist/admin/chunks/pt-L2DZeTPL.js.map +0 -1
- package/dist/admin/chunks/ru-CGgHRTey.mjs.map +0 -1
- package/dist/admin/chunks/ru-Uxbk_WWv.js.map +0 -1
- package/dist/admin/chunks/sk-BlLP5HAX.js.map +0 -1
- package/dist/admin/chunks/sk-xtSwaPXq.mjs.map +0 -1
- package/dist/admin/chunks/th-BOpLVfmg.mjs.map +0 -1
- package/dist/admin/chunks/th-DNxPLegS.js.map +0 -1
- package/dist/admin/chunks/tr-BmAPh-f1.mjs.map +0 -1
- package/dist/admin/chunks/tr-DWgXG75k.js.map +0 -1
- package/dist/admin/chunks/uk-Cfm1dM3v.js.map +0 -1
- package/dist/admin/chunks/uk-DPZD6U8g.mjs.map +0 -1
- package/dist/admin/chunks/zh-BIl0qgBy.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-B1GabBRx.mjs.map +0 -1
- package/dist/admin/chunks/zh-Hans-B8qxMQIl.js.map +0 -1
- package/dist/admin/chunks/zh-MemsyMV6.js.map +0 -1
- package/dist/server/chunks/graphql-CwNPX8zo.js.map +0 -1
- package/dist/server/chunks/graphql-K9HaGS9d.mjs.map +0 -1
- package/dist/server/chunks/index-BzVus140.mjs +0 -3161
- package/dist/server/chunks/index-BzVus140.mjs.map +0 -1
- package/dist/server/chunks/index-D2QOphAI.js +0 -3164
- package/dist/server/chunks/index-D2QOphAI.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App-h5xGw9X8.mjs","sources":["../../../admin/src/utils/getBreadcrumbDataML.ts","../../../admin/src/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.tsx","../../../admin/src/pages/App/MediaLibrary/components/BulkDeleteButton.tsx","../../../admin/src/hooks/useBulkMove.ts","../../../admin/src/components/BulkMoveDialog/BulkMoveDialog.tsx","../../../admin/src/pages/App/MediaLibrary/components/BulkMoveButton.tsx","../../../admin/src/pages/App/MediaLibrary/components/BulkActions.tsx","../../../admin/src/pages/App/MediaLibrary/components/EmptyOrNoPermissions.tsx","../../../admin/src/pages/App/MediaLibrary/components/Filters.tsx","../../../admin/src/pages/App/MediaLibrary/components/Header.tsx","../../../admin/src/pages/App/MediaLibrary/MediaLibrary.tsx","../../../admin/src/pages/App/App.tsx"],"sourcesContent":["import { getFolderURL } from './getFolderURL';\nimport { getTrad } from './getTrad';\n\nimport type { Query } from '../../../shared/contracts/files';\nimport type { Folder } from '../../../shared/contracts/folders';\nimport type { MessageDescriptor } from 'react-intl';\n\ninterface GetBreadcrumbDataMLProps {\n folder: Folder;\n options: {\n pathname: string;\n query?: Query;\n };\n}\n\ninterface GetBreadcrumbDataMLReturn {\n id: number | null;\n label: string | MessageDescriptor;\n href?: string;\n}\n\ntype BreadcrumbData = GetBreadcrumbDataMLReturn | [];\n\nexport const getBreadcrumbDataML = (\n folder: GetBreadcrumbDataMLProps['folder'] | null,\n { pathname, query }: GetBreadcrumbDataMLProps['options']\n) => {\n const data: BreadcrumbData[] = [\n {\n id: null,\n label: { id: getTrad('plugin.name'), defaultMessage: 'Media Library' },\n href: folder ? getFolderURL(pathname, query || {}) : undefined,\n },\n ];\n\n if (folder?.parent && typeof folder?.parent !== 'number' && folder?.parent?.parent) {\n data.push([]);\n }\n\n if (folder?.parent && typeof folder.parent !== 'number') {\n data.push({\n id: folder.parent.id,\n label: folder.parent.name,\n href: getFolderURL(pathname, query || {}, {\n folder: folder.parent.id?.toString(),\n folderPath: folder.parent.path,\n }),\n });\n }\n\n if (folder) {\n data.push({\n id: folder.id,\n label: folder.name,\n });\n }\n\n return data;\n};\n","import { Checkbox, Box, CheckboxProps } from '@strapi/design-system';\n\nimport { useFolderCard } from '../contexts/FolderCard';\n\nexport const FolderCardCheckbox = (props: CheckboxProps) => {\n const { id } = useFolderCard();\n\n return (\n <Box position=\"relative\" zIndex={2}>\n <Checkbox aria-labelledby={`${id}-title`} {...props} />\n </Box>\n );\n};\n","import { ConfirmDialog } from '@strapi/admin/strapi-admin';\nimport { Button, Dialog } from '@strapi/design-system';\nimport { Trash } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useBulkRemove } from '../../../../hooks/useBulkRemove';\n\nimport type { FolderDefinition } from '../../../../../../shared/contracts/folders';\nimport type { FileWithType } from '../../../../hooks/useBulkRemove';\n\nexport interface BulkDeleteButtonProps {\n selected: Array<FileWithType | FolderDefinition>;\n onSuccess: () => void;\n}\n\nexport const BulkDeleteButton = ({ selected, onSuccess }: BulkDeleteButtonProps) => {\n const { formatMessage } = useIntl();\n const { remove } = useBulkRemove();\n\n const handleConfirmRemove = async () => {\n await remove(selected);\n onSuccess();\n };\n\n return (\n <Dialog.Root>\n <Dialog.Trigger>\n <Button variant=\"danger-light\" size=\"S\" startIcon={<Trash />}>\n {formatMessage({ id: 'global.delete', defaultMessage: 'Delete' })}\n </Button>\n </Dialog.Trigger>\n <ConfirmDialog onConfirm={handleConfirmRemove} />\n </Dialog.Root>\n );\n};\n","import { useNotification, useFetchClient } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQueryClient } from 'react-query';\n\nimport { File, BulkMoveFiles } from '../../../shared/contracts/files';\nimport { Folder, BulkMoveFolders } from '../../../shared/contracts/folders';\nimport { pluginId } from '../pluginId';\nimport { getTrad } from '../utils';\n\nexport interface FolderWithType extends Folder {\n type: string;\n}\n\nexport interface FileWithType extends File {\n type: string;\n}\n\ninterface BulkMoveParams {\n destinationFolderId: number | string;\n filesAndFolders: Array<FolderWithType | FileWithType>;\n}\n\n// Define the shape of the accumulator object\ntype Payload = {\n fileIds?: number[];\n folderIds?: number[];\n};\n\nexport const useBulkMove = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { post } = useFetchClient();\n\n const bulkMoveQuery = ({ destinationFolderId, filesAndFolders }: BulkMoveParams) => {\n const payload = filesAndFolders.reduce<Payload>((acc, selected) => {\n const { id, type } = selected;\n const key = type === 'asset' ? 'fileIds' : 'folderIds';\n\n if (!acc[key]) {\n acc[key] = [];\n }\n\n acc[key]!.push(id);\n\n return acc;\n }, {});\n\n return post('/upload/actions/bulk-move', { ...payload, destinationFolderId });\n };\n\n const mutation = useMutation<\n BulkMoveFolders.Response | BulkMoveFiles.Response,\n BulkMoveFolders.Response['error'] | BulkMoveFiles.Response['error'],\n BulkMoveParams\n >(bulkMoveQuery, {\n onSuccess(res) {\n const {\n data: { data },\n } = res;\n\n if (data?.files?.length > 0) {\n queryClient.refetchQueries([pluginId, 'assets'], { active: true });\n queryClient.refetchQueries([pluginId, 'asset-count'], { active: true });\n }\n\n // folders need to be re-fetched in any case, because assets might have been\n // moved into a sub-folder and therefore the count needs to be updated\n queryClient.refetchQueries([pluginId, 'folders'], { active: true });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: getTrad('modal.move.success-label'),\n defaultMessage: 'Elements have been moved successfully.',\n }),\n });\n },\n });\n\n const move = (\n destinationFolderId: number | string,\n filesAndFolders: Array<FolderWithType | FileWithType>\n ) => mutation.mutateAsync({ destinationFolderId, filesAndFolders });\n\n return { ...mutation, move };\n};\n","import { Button, Flex, Grid, Field, Loader, Modal, Typography } from '@strapi/design-system';\nimport { Form, Formik, FormikErrors } from 'formik';\nimport isEmpty from 'lodash/isEmpty';\nimport { useIntl } from 'react-intl';\n\nimport { File } from '../../../../shared/contracts/files';\nimport { useBulkMove } from '../../hooks/useBulkMove';\nimport { useFolderStructure } from '../../hooks/useFolderStructure';\nimport { getTrad, normalizeAPIError } from '../../utils';\nimport { SelectTree } from '../SelectTree/SelectTree';\n\nimport type { Folder } from '../../../../shared/contracts/folders';\nimport type { OptionSelectTree } from '../SelectTree/SelectTree';\nimport type { FetchError } from '@strapi/admin/strapi-admin';\n\ntype InitialFormData = {\n destination:\n | {\n value: string | number;\n label: string;\n }\n | string;\n};\n\ninterface FolderWithType extends Folder {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveDialogProps {\n onClose: () => void;\n selected?: Array<FolderWithType | FileWithType>;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkMoveDialog = ({ onClose, selected = [], currentFolder }: BulkMoveDialogProps) => {\n const { formatMessage } = useIntl();\n const { data: folderStructure, isLoading } = useFolderStructure();\n const { move } = useBulkMove();\n\n if (!folderStructure) {\n return null;\n }\n\n const handleSubmit = async (\n values: InitialFormData,\n { setErrors }: { setErrors: (errors: FormikErrors<InitialFormData>) => void }\n ) => {\n try {\n if (typeof values.destination !== 'string') {\n const destinationValue = values.destination.value;\n await move(destinationValue, selected);\n onClose();\n }\n } catch (error) {\n const normalizedError = normalizeAPIError(error as FetchError)!;\n\n if (normalizedError && 'errors' in normalizedError) {\n const formikErrors = normalizedError.errors?.reduce<Record<string, string>>(\n (acc, error) => {\n acc[error.values?.path?.length || 'destination'] = error.defaultMessage;\n\n return acc;\n },\n {}\n );\n\n if (!isEmpty(formikErrors)) {\n setErrors(formikErrors);\n }\n }\n }\n };\n\n if (isLoading) {\n return (\n <Modal.Content>\n <Modal.Body>\n <Flex justifyContent=\"center\" paddingTop={4} paddingBottom={4}>\n <Loader>\n {formatMessage({\n id: getTrad('content.isLoading'),\n defaultMessage: 'Content is loading.',\n })}\n </Loader>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n );\n }\n\n const initialFormData: InitialFormData = {\n destination: {\n value: currentFolder?.id || '',\n label: currentFolder?.name || folderStructure[0].label,\n },\n };\n\n return (\n <Modal.Content>\n <Formik validateOnChange={false} onSubmit={handleSubmit} initialValues={initialFormData}>\n {({ values, errors, setFieldValue }) => (\n <Form noValidate>\n <Modal.Header>\n <Modal.Title>\n {formatMessage({\n id: getTrad('modal.folder.move.title'),\n defaultMessage: 'Move elements to',\n })}\n </Modal.Title>\n </Modal.Header>\n\n <Modal.Body>\n <Grid.Root gap={4}>\n <Grid.Item xs={12} col={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root id=\"folder-destination\">\n <Field.Label>\n {formatMessage({\n id: getTrad('form.input.label.folder-location'),\n defaultMessage: 'Location',\n })}\n </Field.Label>\n\n <SelectTree\n options={folderStructure as OptionSelectTree[]}\n onChange={(value: Record<string, string | number>) => {\n setFieldValue('destination', value);\n }}\n defaultValue={\n typeof values.destination !== 'string' ? values.destination : undefined\n }\n name=\"destination\"\n menuPortalTarget={document.querySelector('body')}\n inputId=\"folder-destination\"\n error={errors?.destination}\n ariaErrorMessage=\"destination-error\"\n />\n\n {errors.destination && (\n <Typography variant=\"pi\" tag=\"p\" textColor=\"danger600\">\n {errors.destination}\n </Typography>\n )}\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Modal.Body>\n\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\" name=\"cancel\">\n {formatMessage({ id: 'cancel', defaultMessage: 'Cancel' })}\n </Button>\n </Modal.Close>\n <Button type=\"submit\" loading={isLoading}>\n {formatMessage({ id: 'modal.folder.move.submit', defaultMessage: 'Move' })}\n </Button>\n </Modal.Footer>\n </Form>\n )}\n </Formik>\n </Modal.Content>\n );\n};\n","import * as React from 'react';\n\nimport { Button, Modal } from '@strapi/design-system';\nimport { Folder } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { BulkMoveDialog } from '../../../../components/BulkMoveDialog/BulkMoveDialog';\n\nimport type { File } from '../../../../../../shared/contracts/files';\nimport type { Folder as FolderDefinition } from '../../../../../../shared/contracts/folders';\n\ninterface FolderWithType extends FolderDefinition {\n type: string;\n}\n\ninterface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkMoveButtonProps {\n onSuccess: () => void;\n currentFolder?: FolderWithType;\n selected?: Array<FolderWithType | FileWithType>;\n}\n\nexport const BulkMoveButton = ({\n selected = [],\n onSuccess,\n currentFolder,\n}: BulkMoveButtonProps) => {\n const { formatMessage } = useIntl();\n const [showConfirmDialog, setShowConfirmDialog] = React.useState(false);\n\n const handleConfirmMove = () => {\n setShowConfirmDialog(false);\n onSuccess();\n };\n\n return (\n <Modal.Root open={showConfirmDialog} onOpenChange={setShowConfirmDialog}>\n <Modal.Trigger>\n <Button variant=\"secondary\" size=\"S\" startIcon={<Folder />}>\n {formatMessage({ id: 'global.move', defaultMessage: 'Move' })}\n </Button>\n </Modal.Trigger>\n <BulkMoveDialog\n currentFolder={currentFolder}\n onClose={handleConfirmMove}\n selected={selected}\n />\n </Modal.Root>\n );\n};\n","import { Flex, Typography } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../../utils';\n\nimport { BulkDeleteButton } from './BulkDeleteButton';\nimport { BulkMoveButton } from './BulkMoveButton';\n\nimport type { File } from '../../../../../../shared/contracts/files';\nimport type {\n FolderDefinition,\n Folder as FolderInitial,\n} from '../../../../../../shared/contracts/folders';\n\ninterface FolderWithType extends FolderInitial {\n type: string;\n}\n\nexport interface FileWithType extends File {\n type: string;\n}\n\nexport interface BulkActionsProps {\n selected: Array<FileWithType | FolderDefinition> | Array<FolderWithType | FileWithType>;\n onSuccess: () => void;\n currentFolder?: FolderWithType;\n}\n\nexport const BulkActions = ({ selected = [], onSuccess, currentFolder }: BulkActionsProps) => {\n const { formatMessage } = useIntl();\n const numberAssets = selected?.reduce(function (_this, val) {\n return val?.type === 'folder' && 'files' in val && val?.files && 'count' in val.files\n ? _this + val?.files?.count\n : _this + 1;\n }, 0);\n\n return (\n <Flex gap={2} paddingBottom={5}>\n <Typography variant=\"epsilon\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: getTrad('list.assets.selected'),\n defaultMessage:\n '{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected',\n },\n {\n numberFolders: selected?.filter(({ type }) => type === 'folder').length,\n numberAssets,\n }\n )}\n </Typography>\n\n <BulkDeleteButton\n selected={selected as Array<FileWithType | FolderDefinition>}\n onSuccess={onSuccess}\n />\n <BulkMoveButton\n currentFolder={currentFolder}\n selected={selected as Array<FolderWithType | FileWithType>}\n onSuccess={onSuccess}\n />\n </Flex>\n );\n};\n","import { Button } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { EmptyPermissions } from '@strapi/icons/symbols';\nimport { useIntl } from 'react-intl';\n\nimport { EmptyAssets } from '../../../../components/EmptyAssets/EmptyAssets';\nimport { getTrad } from '../../../../utils';\n\nexport interface EmptyOrNoPermissionsProps {\n canCreate: boolean;\n canRead: boolean;\n isFiltering: boolean;\n onActionClick: () => void;\n}\n\nconst getContentIntlMessage = ({\n isFiltering,\n canCreate,\n canRead,\n}: Omit<EmptyOrNoPermissionsProps, 'onActionClick'>) => {\n if (isFiltering) {\n return {\n id: 'list.assets-empty.title-withSearch',\n defaultMessage: 'There are no elements with the applied filters',\n };\n }\n\n if (canRead) {\n if (canCreate) {\n return {\n id: 'list.assets.empty-upload',\n defaultMessage: 'Upload your first assets...',\n };\n }\n\n return {\n id: 'list.assets.empty',\n defaultMessage: 'Media Library is empty',\n };\n }\n\n return {\n id: 'header.actions.no-permissions',\n defaultMessage: 'No permissions to view',\n };\n};\n\nexport const EmptyOrNoPermissions = ({\n canCreate,\n isFiltering,\n canRead,\n onActionClick,\n}: EmptyOrNoPermissionsProps) => {\n const { formatMessage } = useIntl();\n const content = getContentIntlMessage({ isFiltering, canCreate, canRead });\n\n return (\n <EmptyAssets\n icon={!canRead ? EmptyPermissions : undefined}\n action={\n canCreate &&\n !isFiltering && (\n <Button variant=\"secondary\" startIcon={<Plus />} onClick={onActionClick}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n )\n }\n content={formatMessage({\n ...content,\n id: getTrad(content.id),\n })}\n />\n );\n};\n","import * as React from 'react';\n\nimport { useTracking, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { Button, Popover } from '@strapi/design-system';\nimport { Filter } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { FilterList } from '../../../../components/FilterList/FilterList';\nimport { FilterPopover } from '../../../../components/FilterPopover/FilterPopover';\nimport { displayedFilters } from '../../../../utils';\n\nimport type { Query } from '../../../../../../shared/contracts/files';\nimport type { FilterListProps } from '../../../../components/FilterList/FilterList';\nimport type { FilterPopoverProps } from '../../../../components/FilterPopover/FilterPopover';\n\nexport const Filters = () => {\n const [open, setOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const [{ query }, setQuery] = useQueryParams<Query>();\n const filters = query?.filters?.$and || [];\n\n const handleRemoveFilter: FilterListProps['onRemoveFilter'] = (nextFilters) => {\n setQuery({ filters: { $and: nextFilters }, page: 1 } as Query);\n };\n\n const handleSubmit: FilterPopoverProps['onSubmit'] = (filters) => {\n trackUsage('didFilterMediaLibraryElements', {\n location: 'content-manager',\n filter: Object.keys(filters[filters.length - 1])[0],\n });\n setQuery({ filters: { $and: filters }, page: 1 } as Query);\n };\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <Popover.Trigger>\n <Button variant=\"tertiary\" startIcon={<Filter />} size=\"S\">\n {formatMessage({ id: 'app.utils.filters', defaultMessage: 'Filters' })}\n </Button>\n </Popover.Trigger>\n <FilterPopover\n displayedFilters={displayedFilters}\n filters={filters}\n onSubmit={handleSubmit}\n onToggle={setOpen as FilterPopoverProps['onToggle']}\n />\n <FilterList\n appliedFilters={filters as FilterListProps['appliedFilters']}\n filtersSchema={displayedFilters}\n onRemoveFilter={handleRemoveFilter}\n />\n </Popover.Root>\n );\n};\n","import { useQueryParams, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button, Flex, Link } from '@strapi/design-system';\nimport { ArrowLeft, Plus } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useLocation, NavLink } from 'react-router-dom';\n\nimport { Breadcrumbs } from '../../../../components/Breadcrumbs/Breadcrumbs';\nimport { getTrad } from '../../../../utils';\n\nimport type { Folder } from '../../../../../../shared/contracts/folders';\nimport type { CrumbDefinition } from '../../../../components/Breadcrumbs/Breadcrumbs';\n\ninterface FolderDefinition extends Omit<Folder, 'children' | 'files' | 'parent'> {\n children: {\n count: number;\n };\n files: {\n count: number;\n };\n parent?: FolderDefinition;\n}\n\nexport interface HeaderProps {\n breadcrumbs?: Array<CrumbDefinition> | null;\n canCreate: boolean;\n folder?: FolderDefinition | null;\n onToggleEditFolderDialog: ({ created }?: { created?: boolean }) => void;\n onToggleUploadAssetDialog: () => void;\n}\n\nexport const Header = ({\n breadcrumbs = null,\n canCreate,\n folder = null,\n onToggleEditFolderDialog,\n onToggleUploadAssetDialog,\n}: HeaderProps) => {\n const { formatMessage } = useIntl();\n const { pathname } = useLocation();\n const [{ query }] = useQueryParams();\n const backQuery = {\n ...query,\n folder:\n folder?.parent && typeof folder.parent !== 'number' && folder.parent.id\n ? folder.parent.id\n : undefined,\n folderPath:\n folder?.parent && typeof folder.parent !== 'number' && folder.parent.path\n ? folder.parent.path\n : undefined,\n };\n\n return (\n <Layouts.Header\n title={formatMessage({\n id: getTrad('plugin.name'),\n defaultMessage: `Media Library`,\n })}\n subtitle={\n breadcrumbs &&\n typeof breadcrumbs !== 'boolean' &&\n folder && (\n <Breadcrumbs\n label={formatMessage({\n id: getTrad('header.breadcrumbs.nav.label'),\n defaultMessage: 'Folders navigation',\n })}\n breadcrumbs={breadcrumbs}\n currentFolderId={folder?.id}\n />\n )\n }\n navigationAction={\n folder && (\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`${pathname}?${stringify(backQuery, { encode: false })}`}\n >\n {formatMessage({\n id: getTrad('header.actions.folder-level-up'),\n defaultMessage: 'Back',\n })}\n </Link>\n )\n }\n primaryAction={\n canCreate && (\n <Flex gap={2}>\n <Button startIcon={<Plus />} variant=\"secondary\" onClick={onToggleEditFolderDialog}>\n {formatMessage({\n id: getTrad('header.actions.add-folder'),\n defaultMessage: 'Add new folder',\n })}\n </Button>\n\n <Button startIcon={<Plus />} onClick={onToggleUploadAssetDialog}>\n {formatMessage({\n id: getTrad('header.actions.add-assets'),\n defaultMessage: 'Add new assets',\n })}\n </Button>\n </Flex>\n )\n }\n />\n );\n};\n","// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n Page,\n SearchInput,\n Pagination,\n useTracking,\n useQueryParams,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport {\n Checkbox,\n Box,\n Divider,\n Flex,\n IconButton,\n Typography,\n VisuallyHidden,\n Grid,\n} from '@strapi/design-system';\nimport { Cog, GridFour as GridIcon, List, Pencil } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link as ReactRouterLink, useNavigate, useLocation } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { AssetGridList } from '../../../components/AssetGridList/AssetGridList';\nimport { EditAssetDialog } from '../../../components/EditAssetDialog/EditAssetContent';\nimport { EditFolderDialog } from '../../../components/EditFolderDialog/EditFolderDialog';\nimport { FolderCard } from '../../../components/FolderCard/FolderCard/FolderCard';\nimport { FolderCardBody } from '../../../components/FolderCard/FolderCardBody/FolderCardBody';\nimport { FolderCardBodyAction } from '../../../components/FolderCard/FolderCardBodyAction/FolderCardBodyAction';\nimport { FolderCardCheckbox } from '../../../components/FolderCard/FolderCardCheckbox/FolderCardCheckbox';\nimport { FolderGridList } from '../../../components/FolderGridList/FolderGridList';\nimport { SortPicker } from '../../../components/SortPicker/SortPicker';\nimport { TableList } from '../../../components/TableList/TableList';\nimport { UploadAssetDialog } from '../../../components/UploadAssetDialog/UploadAssetDialog';\nimport { localStorageKeys, viewOptions } from '../../../constants';\nimport { useAssets } from '../../../hooks/useAssets';\nimport { useFolder } from '../../../hooks/useFolder';\nimport { useFolders } from '../../../hooks/useFolders';\nimport { useMediaLibraryPermissions } from '../../../hooks/useMediaLibraryPermissions';\nimport { usePersistentState } from '../../../hooks/usePersistentState';\nimport { useSelectionState } from '../../../hooks/useSelectionState';\nimport { containsAssetFilter, getBreadcrumbDataML, getFolderURL, getTrad } from '../../../utils';\n\nimport { BulkActions } from './components/BulkActions';\nimport { EmptyOrNoPermissions } from './components/EmptyOrNoPermissions';\nimport { Filters } from './components/Filters';\nimport { Header } from './components/Header';\n\nimport type { BulkActionsProps } from './components/BulkActions';\nimport type { HeaderProps } from './components/Header';\nimport type { Query } from '../../../../../shared/contracts/files';\nimport type { FolderDefinition } from '../../../../../shared/contracts/folders';\nimport type { AssetGridListProps } from '../../../components/AssetGridList/AssetGridList';\nimport type { Asset } from '../../../components/EditAssetDialog/EditAssetContent';\nimport type { FolderRow, FileRow, TableListProps } from '../../../components/TableList/TableList';\n\nconst BoxWithHeight = styled(Box)`\n height: 3.2rem;\n display: flex;\n align-items: center;\n`;\n\nconst TypographyMaxWidth = styled(Typography)`\n max-width: 100%;\n`;\n\nconst ActionContainer = styled(Box)`\n svg {\n path {\n fill: ${({ theme }) => theme.colors.neutral500};\n }\n }\n`;\n\nexport const MediaLibrary = () => {\n const navigate = useNavigate();\n const {\n canRead,\n canCreate,\n canUpdate,\n canCopyLink,\n canDownload,\n canConfigureView,\n isLoading: permissionsLoading,\n } = useMediaLibraryPermissions();\n const currentFolderToEditRef = React.useRef<HTMLDivElement>();\n const { formatMessage } = useIntl();\n const { pathname } = useLocation();\n const { trackUsage } = useTracking();\n const [{ query }, setQuery] = useQueryParams<Query>();\n const isFiltering = Boolean(query._q || query.filters);\n const [view, setView] = usePersistentState(localStorageKeys.view, viewOptions.GRID);\n const isGridView = view === viewOptions.GRID;\n\n const {\n data: assetsData,\n isLoading: assetsLoading,\n error: assetsError,\n } = useAssets({\n skipWhen: !canRead,\n query,\n });\n\n const {\n data: foldersData,\n isLoading: foldersLoading,\n error: foldersError,\n } = useFolders({\n enabled: canRead && assetsData?.pagination?.page === 1 && !containsAssetFilter(query),\n query,\n });\n\n const {\n data: currentFolder,\n isLoading: isCurrentFolderLoading,\n error: currentFolderError,\n } = useFolder(query?.folder as number | null | undefined, {\n enabled: canRead && !!query?.folder,\n });\n\n // Folder was not found: redirect to the media library root\n if (currentFolderError?.name === 'NotFoundError') {\n navigate(pathname);\n }\n\n const folders =\n foldersData?.map((folder) => ({\n ...folder,\n type: 'folder',\n folderURL: getFolderURL(pathname, query, {\n folder: folder.id.toString(),\n folderPath: folder.path,\n }),\n isSelectable: canUpdate,\n })) ?? [];\n const folderCount = folders?.length || 0;\n const assets =\n assetsData?.results?.map((asset) => ({ ...asset, type: 'asset', isSelectable: canUpdate })) ||\n [];\n const assetCount = assets?.length ?? 0;\n const totalAssetCount = assetsData?.pagination?.total;\n\n const isLoading = isCurrentFolderLoading || foldersLoading || permissionsLoading || assetsLoading;\n const [showUploadAssetDialog, setShowUploadAssetDialog] = React.useState(false);\n const [showEditFolderDialog, setShowEditFolderDialog] = React.useState(false);\n const [assetToEdit, setAssetToEdit] = React.useState<Asset | undefined>(undefined);\n const [folderToEdit, setFolderToEdit] = React.useState<FolderRow | undefined | null>(undefined);\n const [selected, { selectOne, selectAll }] = useSelectionState<FolderRow | FileRow>(\n ['type', 'id'],\n []\n );\n const indeterminateBulkSelect =\n selected?.length > 0 && selected?.length !== assetCount + folderCount;\n const toggleUploadAssetDialog = () => setShowUploadAssetDialog((prev) => !prev);\n const toggleEditFolderDialog = ({ created = false } = {}) => {\n // folders are only displayed on the first page, therefore\n // we have to navigate the user to that page, in case a folder\n // was created successfully in order for them to see it\n if (created && query?.page !== '1') {\n setQuery({\n ...query,\n page: 1,\n });\n }\n\n setShowEditFolderDialog((prev) => !prev);\n };\n\n const handleBulkSelect = (\n checked: boolean | 'indeterminate',\n elements?: FolderRow[] | FileRow[]\n ) => {\n if (checked) {\n trackUsage('didSelectAllMediaLibraryElements');\n }\n\n selectAll(elements as (FolderRow | FileRow)[]);\n };\n\n const handleChangeSort = (value: Query['sort'] | string) => {\n trackUsage('didSortMediaLibraryElements', {\n location: 'upload',\n sort: value,\n });\n setQuery({ sort: value as Query['sort'] });\n };\n\n const handleEditFolder = (folder: FolderRow) => {\n setFolderToEdit(folder);\n setShowEditFolderDialog(true);\n };\n\n const handleEditFolderClose = (payload?: { created?: boolean | undefined }) => {\n setFolderToEdit(null);\n toggleEditFolderDialog(payload);\n\n if (currentFolderToEditRef.current) {\n currentFolderToEditRef.current.focus();\n }\n };\n\n const handleAssetDeleted = (numberOfAssets: number) => {\n if (\n numberOfAssets === assetCount &&\n assetsData?.pagination?.page === assetsData?.pagination?.pageCount &&\n assetsData?.pagination?.page &&\n assetsData.pagination.page > 1\n ) {\n setQuery({\n ...query,\n page: assetsData.pagination.page - 1,\n });\n }\n };\n\n const handleBulkActionSuccess = () => {\n selectAll();\n\n handleAssetDeleted(selected.length);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (assetsError || foldersError) {\n return <Page.Error />;\n }\n\n return (\n <Layouts.Root>\n <Page.Main>\n <Header\n breadcrumbs={\n !isCurrentFolderLoading\n ? (getBreadcrumbDataML(currentFolder!, {\n pathname,\n query,\n }) as HeaderProps['breadcrumbs'])\n : null\n }\n canCreate={canCreate}\n onToggleEditFolderDialog={toggleEditFolderDialog}\n onToggleUploadAssetDialog={toggleUploadAssetDialog}\n folder={currentFolder as HeaderProps['folder']}\n />\n <Layouts.Action\n startActions={\n <>\n {canUpdate && isGridView && (assetCount > 0 || folderCount > 0) && (\n <BoxWithHeight\n paddingLeft={2}\n paddingRight={2}\n background=\"neutral0\"\n hasRadius\n borderColor=\"neutral200\"\n >\n <Checkbox\n aria-label={formatMessage({\n id: getTrad('bulk.select.label'),\n defaultMessage: 'Select all folders & assets',\n })}\n checked={\n indeterminateBulkSelect\n ? 'indeterminate'\n : (assetCount > 0 || folderCount > 0) &&\n selected.length === assetCount + folderCount\n }\n onCheckedChange={(e) =>\n handleBulkSelect(e, [...assets, ...folders] as FolderRow[] | FileRow[])\n }\n />\n </BoxWithHeight>\n )}\n {canRead && isGridView && (\n <SortPicker value={query?.sort} onChangeSort={handleChangeSort} />\n )}\n {canRead && <Filters />}\n </>\n }\n endActions={\n <>\n {canConfigureView ? (\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n tag={ReactRouterLink}\n to={{\n pathname: `${pathname}/configuration`,\n search: stringify(query, { encode: false }),\n }}\n label={formatMessage({\n id: 'app.links.configure-view',\n defaultMessage: 'Configure the view',\n })}\n >\n <Cog />\n </IconButton>\n </ActionContainer>\n ) : null}\n <ActionContainer paddingTop={1} paddingBottom={1}>\n <IconButton\n label={\n isGridView\n ? formatMessage({\n id: getTrad('view-switch.list'),\n defaultMessage: 'List View',\n })\n : formatMessage({\n id: getTrad('view-switch.grid'),\n defaultMessage: 'Grid View',\n })\n }\n onClick={() => setView(isGridView ? viewOptions.LIST : viewOptions.GRID)}\n >\n {isGridView ? <List /> : <GridIcon />}\n </IconButton>\n </ActionContainer>\n <SearchInput\n label={formatMessage({\n id: getTrad('search.label'),\n defaultMessage: 'Search for an asset',\n })}\n trackedEvent=\"didSearchMediaLibraryElements\"\n trackedEventDetails={{ location: 'upload' }}\n />\n </>\n }\n />\n\n <Layouts.Content>\n {selected.length > 0 && (\n <BulkActions\n currentFolder={currentFolder as BulkActionsProps['currentFolder']}\n selected={selected as BulkActionsProps['selected']}\n onSuccess={handleBulkActionSuccess}\n />\n )}\n\n {folderCount === 0 && assetCount === 0 && (\n <EmptyOrNoPermissions\n canCreate={canCreate}\n canRead={canRead}\n isFiltering={isFiltering}\n onActionClick={toggleUploadAssetDialog}\n />\n )}\n\n {/* TODO: fix AssetListTable should handle no assets views (loading) */}\n {canRead && !isGridView && (assetCount > 0 || folderCount > 0) && (\n <TableList\n assetCount={assetCount}\n folderCount={folderCount}\n indeterminate={indeterminateBulkSelect}\n onChangeSort={handleChangeSort}\n onChangeFolder={(folderID, folderPath) =>\n navigate(getFolderURL(pathname, query, { folder: folderID.toString(), folderPath }))\n }\n onEditAsset={setAssetToEdit as TableListProps['onEditAsset']}\n onEditFolder={handleEditFolder}\n onSelectOne={selectOne}\n onSelectAll={handleBulkSelect as TableListProps['onSelectAll']}\n rows={[...folders, ...assets] as TableListProps['rows']}\n selected={selected as TableListProps['selected']}\n shouldDisableBulkSelect={!canUpdate}\n sortQuery={query?.sort ?? ''}\n />\n )}\n\n {canRead && isGridView && (\n <>\n {folderCount > 0 && (\n <FolderGridList\n title={\n // Folders title should only appear if:\n // user is filtering and there are assets to display, to divide both type of elements\n // user is not filtering\n (((isFiltering && assetCount > 0) || !isFiltering) &&\n formatMessage(\n {\n id: getTrad('list.folders.title'),\n defaultMessage: 'Folders ({count})',\n },\n { count: folderCount }\n )) ||\n ''\n }\n >\n {folders.map((folder) => {\n const selectedFolders = selected.filter(({ type }) => type === 'folder');\n const isSelected = !!selectedFolders.find(\n (currentFolder) => currentFolder.id === folder.id\n );\n\n const url = getFolderURL(pathname, query, {\n folder: folder?.id.toString(),\n folderPath: folder?.path,\n });\n\n return (\n <Grid.Item\n col={3}\n key={`folder-${folder.id}`}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <FolderCard\n ref={\n folderToEdit && folder.id === folderToEdit.id\n ? currentFolderToEditRef\n : undefined\n }\n ariaLabel={folder.name}\n id={`folder-${folder.id}`}\n to={url}\n startAction={\n folder.isSelectable ? (\n <FolderCardCheckbox\n data-testid={`folder-checkbox-${folder.id}`}\n checked={isSelected}\n onCheckedChange={() => selectOne(folder)}\n />\n ) : null\n }\n cardActions={\n <IconButton\n label={formatMessage({\n id: getTrad('list.folder.edit'),\n defaultMessage: 'Edit folder',\n })}\n onClick={() => handleEditFolder(folder)}\n >\n <Pencil />\n </IconButton>\n }\n >\n <FolderCardBody>\n <FolderCardBodyAction to={url}>\n <Flex tag=\"h2\" direction=\"column\" alignItems=\"start\" maxWidth=\"100%\">\n <TypographyMaxWidth\n fontWeight=\"semiBold\"\n textColor=\"neutral800\"\n ellipsis\n >\n {folder.name}\n <VisuallyHidden>:</VisuallyHidden>\n </TypographyMaxWidth>\n\n <TypographyMaxWidth\n tag=\"span\"\n textColor=\"neutral600\"\n variant=\"pi\"\n ellipsis\n >\n {formatMessage(\n {\n id: getTrad('list.folder.subtitle'),\n defaultMessage:\n '{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}',\n },\n {\n folderCount: (folder as FolderDefinition).children?.count,\n filesCount: (folder as FolderDefinition).files?.count,\n }\n )}\n </TypographyMaxWidth>\n </Flex>\n </FolderCardBodyAction>\n </FolderCardBody>\n </FolderCard>\n </Grid.Item>\n );\n })}\n </FolderGridList>\n )}\n\n {assetCount > 0 && folderCount > 0 && (\n <Box paddingTop={6} paddingBottom={4}>\n <Divider />\n </Box>\n )}\n\n {assetCount > 0 && (\n <AssetGridList\n assets={assets}\n onEditAsset={setAssetToEdit as AssetGridListProps['onEditAsset']}\n onSelectAsset={selectOne}\n selectedAssets={\n selected.filter(\n ({ type }) => type === 'asset'\n ) as AssetGridListProps['selectedAssets']\n }\n title={\n // Assets title should only appear if:\n // - user is not filtering\n // - user is filtering and there are folders to display, to separate them\n // - user is on page 1 since folders won't appear on any other page than the first one (no need to visually separate them)\n ((!isFiltering || (isFiltering && folderCount > 0)) &&\n assetsData?.pagination?.page === 1 &&\n formatMessage(\n {\n id: getTrad('list.assets.title'),\n defaultMessage: 'Assets ({count})',\n },\n { count: totalAssetCount }\n )) ||\n ''\n }\n />\n )}\n </>\n )}\n <Pagination.Root {...assetsData?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n </Page.Main>\n {showUploadAssetDialog && (\n <UploadAssetDialog\n open={showUploadAssetDialog}\n onClose={toggleUploadAssetDialog}\n trackedLocation=\"upload\"\n folderId={query?.folder as string | number | null | undefined}\n />\n )}\n {showEditFolderDialog && (\n <EditFolderDialog\n open={showEditFolderDialog}\n onClose={() => handleEditFolderClose()}\n folder={folderToEdit as FolderDefinition}\n parentFolderId={query?.folder as string | number | null | undefined}\n location=\"upload\"\n />\n )}\n {assetToEdit && (\n <EditAssetDialog\n onClose={(editedAsset) => {\n // The asset has been deleted\n if (editedAsset === null) {\n handleAssetDeleted(1);\n }\n\n setAssetToEdit(undefined);\n }}\n open={!!assetToEdit}\n asset={assetToEdit}\n canUpdate={canUpdate}\n canCopyLink={canCopyLink}\n canDownload={canDownload}\n trackedLocation=\"upload\"\n />\n )}\n </Layouts.Root>\n );\n};\n","// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport { Page, useQueryParams } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { Route, Routes } from 'react-router-dom';\n\nimport { useConfig } from '../../hooks/useConfig';\nimport { getTrad } from '../../utils';\n\nimport { MediaLibrary } from './MediaLibrary/MediaLibrary';\n\nimport type { Configuration } from '../../../../shared/contracts/configuration';\n\nconst ConfigureTheView = React.lazy(async () =>\n import('./ConfigureTheView/ConfigureTheView').then((mod) => ({ default: mod.ConfigureTheView }))\n);\n\nexport const Upload = () => {\n const {\n config: { isLoading, isError, data: config },\n } = useConfig() as { config: { isLoading: boolean; isError: boolean; data: Configuration } };\n\n const [{ rawQuery }, setQuery] = useQueryParams();\n const { formatMessage } = useIntl();\n const title = formatMessage({ id: getTrad('plugin.name'), defaultMessage: 'Media Library' });\n\n React.useEffect(() => {\n if (isLoading || isError || rawQuery) {\n return;\n }\n setQuery({\n sort: config.sort,\n page: 1,\n pageSize: config.pageSize,\n });\n }, [isLoading, isError, config, rawQuery, setQuery]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>{title}</Page.Title>\n {rawQuery ? (\n <React.Suspense fallback={<Page.Loading />}>\n <Routes>\n <Route index element={<MediaLibrary />} />\n <Route\n path=\"configuration\"\n element={<ConfigureTheView config={config as Configuration} />}\n />\n </Routes>\n </React.Suspense>\n ) : null}\n </Page.Main>\n );\n};\n"],"names":["getBreadcrumbDataML","folder","pathname","query","data","id","label","getTrad","defaultMessage","href","getFolderURL","undefined","parent","push","name","toString","folderPath","path","FolderCardCheckbox","props","useFolderCard","_jsx","Box","position","zIndex","Checkbox","aria-labelledby","BulkDeleteButton","selected","onSuccess","formatMessage","useIntl","remove","useBulkRemove","handleConfirmRemove","_jsxs","Dialog","Root","Trigger","Button","variant","size","startIcon","Trash","ConfirmDialog","onConfirm","useBulkMove","toggleNotification","useNotification","queryClient","useQueryClient","post","useFetchClient","bulkMoveQuery","destinationFolderId","filesAndFolders","payload","reduce","acc","type","key","mutation","useMutation","res","files","length","refetchQueries","pluginId","active","message","move","mutateAsync","BulkMoveDialog","onClose","currentFolder","folderStructure","isLoading","useFolderStructure","handleSubmit","values","setErrors","destination","destinationValue","value","error","normalizedError","normalizeAPIError","formikErrors","errors","isEmpty","Modal","Content","Body","Flex","justifyContent","paddingTop","paddingBottom","Loader","initialFormData","Formik","validateOnChange","onSubmit","initialValues","setFieldValue","Form","noValidate","Header","Title","Grid","gap","Item","xs","col","direction","alignItems","Field","Label","SelectTree","options","onChange","defaultValue","menuPortalTarget","document","querySelector","inputId","ariaErrorMessage","Typography","tag","textColor","Footer","Close","loading","BulkMoveButton","showConfirmDialog","setShowConfirmDialog","React","useState","handleConfirmMove","open","onOpenChange","Folder","BulkActions","numberAssets","_this","val","count","numberFolders","filter","getContentIntlMessage","isFiltering","canCreate","canRead","EmptyOrNoPermissions","onActionClick","content","EmptyAssets","icon","EmptyPermissions","action","Plus","onClick","Filters","setOpen","trackUsage","useTracking","setQuery","useQueryParams","filters","$and","handleRemoveFilter","nextFilters","page","location","Object","keys","Popover","Filter","FilterPopover","displayedFilters","onToggle","FilterList","appliedFilters","filtersSchema","onRemoveFilter","breadcrumbs","onToggleEditFolderDialog","onToggleUploadAssetDialog","useLocation","backQuery","Layouts","title","subtitle","Breadcrumbs","currentFolderId","navigationAction","Link","NavLink","ArrowLeft","to","stringify","encode","primaryAction","BoxWithHeight","styled","TypographyMaxWidth","ActionContainer","theme","colors","neutral500","MediaLibrary","navigate","useNavigate","canUpdate","canCopyLink","canDownload","canConfigureView","permissionsLoading","useMediaLibraryPermissions","currentFolderToEditRef","useRef","Boolean","_q","view","setView","usePersistentState","localStorageKeys","viewOptions","GRID","isGridView","assetsData","assetsLoading","assetsError","useAssets","skipWhen","foldersData","foldersLoading","foldersError","useFolders","enabled","pagination","containsAssetFilter","isCurrentFolderLoading","currentFolderError","useFolder","folders","map","folderURL","isSelectable","folderCount","assets","results","asset","assetCount","totalAssetCount","total","showUploadAssetDialog","setShowUploadAssetDialog","showEditFolderDialog","setShowEditFolderDialog","assetToEdit","setAssetToEdit","folderToEdit","setFolderToEdit","selectOne","selectAll","useSelectionState","indeterminateBulkSelect","toggleUploadAssetDialog","prev","toggleEditFolderDialog","created","handleBulkSelect","checked","elements","handleChangeSort","sort","handleEditFolder","handleEditFolderClose","current","focus","handleAssetDeleted","numberOfAssets","pageCount","handleBulkActionSuccess","Page","Loading","Error","Main","Action","startActions","_Fragment","paddingLeft","paddingRight","background","hasRadius","borderColor","aria-label","onCheckedChange","e","SortPicker","onChangeSort","endActions","IconButton","ReactRouterLink","search","Cog","LIST","List","GridIcon","SearchInput","trackedEvent","trackedEventDetails","TableList","indeterminate","onChangeFolder","folderID","onEditAsset","onEditFolder","onSelectOne","onSelectAll","rows","shouldDisableBulkSelect","sortQuery","FolderGridList","selectedFolders","isSelected","find","url","FolderCard","ref","ariaLabel","startAction","data-testid","cardActions","Pencil","FolderCardBody","FolderCardBodyAction","maxWidth","fontWeight","ellipsis","VisuallyHidden","children","filesCount","Divider","AssetGridList","onSelectAsset","selectedAssets","Pagination","PageSize","Links","UploadAssetDialog","trackedLocation","folderId","EditFolderDialog","parentFolderId","EditAssetDialog","editedAsset","ConfigureTheView","lazy","then","mod","default","Upload","config","isError","useConfig","rawQuery","useEffect","pageSize","Suspense","fallback","Routes","Route","index","element"],"mappings":"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"}
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useTracking, useNotification, Layouts, Page, ConfirmDialog } from '@strapi/admin/strapi-admin';
|
|
4
|
-
import { Box, Grid, Field, SingleSelect, SingleSelectOption, Link, Button, Dialog } from '@strapi/design-system';
|
|
5
|
-
import { ArrowLeft, Check } from '@strapi/icons';
|
|
6
|
-
import isEqual from 'lodash/isEqual';
|
|
7
|
-
import { useIntl } from 'react-intl';
|
|
8
|
-
import { NavLink } from 'react-router-dom';
|
|
9
|
-
import { g as getTrad, C as pageSizes, D as sortOptions, p as pluginId, z as useConfig } from './index-BUqiOq3Y.mjs';
|
|
10
|
-
import 'byte-size';
|
|
11
|
-
import 'date-fns';
|
|
12
|
-
import 'qs';
|
|
13
|
-
import { produce } from 'immer';
|
|
14
|
-
import get from 'lodash/get';
|
|
15
|
-
import set from 'lodash/set';
|
|
16
|
-
import 'styled-components';
|
|
17
|
-
import 'react-query';
|
|
18
|
-
import 'yup';
|
|
19
|
-
import 'formik';
|
|
20
|
-
import 'react-select';
|
|
21
|
-
import 'cropperjs';
|
|
22
|
-
import '@mux/mux-player-react';
|
|
23
|
-
import 'cropperjs/dist/cropper.css';
|
|
24
|
-
import 'lodash/isEmpty';
|
|
25
|
-
import 'react-dnd';
|
|
26
|
-
import '@strapi/icons/symbols';
|
|
27
|
-
import 'date-fns/parseISO';
|
|
28
|
-
|
|
29
|
-
const Settings = ({ sort = '', pageSize = 10, onChange })=>{
|
|
30
|
-
const { formatMessage } = useIntl();
|
|
31
|
-
return /*#__PURE__*/ jsx(Box, {
|
|
32
|
-
background: "neutral0",
|
|
33
|
-
hasRadius: true,
|
|
34
|
-
shadow: "tableShadow",
|
|
35
|
-
paddingTop: 6,
|
|
36
|
-
paddingBottom: 6,
|
|
37
|
-
paddingLeft: 7,
|
|
38
|
-
paddingRight: 7,
|
|
39
|
-
children: /*#__PURE__*/ jsxs(Grid.Root, {
|
|
40
|
-
gap: 4,
|
|
41
|
-
children: [
|
|
42
|
-
/*#__PURE__*/ jsx(Grid.Item, {
|
|
43
|
-
s: 12,
|
|
44
|
-
col: 6,
|
|
45
|
-
direction: "column",
|
|
46
|
-
alignItems: "stretch",
|
|
47
|
-
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
48
|
-
hint: formatMessage({
|
|
49
|
-
id: getTrad('config.entries.note'),
|
|
50
|
-
defaultMessage: 'Number of assets displayed by default in the Media Library'
|
|
51
|
-
}),
|
|
52
|
-
name: "pageSize",
|
|
53
|
-
children: [
|
|
54
|
-
/*#__PURE__*/ jsx(Field.Label, {
|
|
55
|
-
children: formatMessage({
|
|
56
|
-
id: getTrad('config.entries.title'),
|
|
57
|
-
defaultMessage: 'Entries per page'
|
|
58
|
-
})
|
|
59
|
-
}),
|
|
60
|
-
/*#__PURE__*/ jsx(SingleSelect, {
|
|
61
|
-
onChange: (value)=>onChange({
|
|
62
|
-
target: {
|
|
63
|
-
name: 'pageSize',
|
|
64
|
-
value
|
|
65
|
-
}
|
|
66
|
-
}),
|
|
67
|
-
value: pageSize,
|
|
68
|
-
children: pageSizes.map((pageSize)=>/*#__PURE__*/ jsx(SingleSelectOption, {
|
|
69
|
-
value: pageSize,
|
|
70
|
-
children: pageSize
|
|
71
|
-
}, pageSize))
|
|
72
|
-
}),
|
|
73
|
-
/*#__PURE__*/ jsx(Field.Hint, {})
|
|
74
|
-
]
|
|
75
|
-
})
|
|
76
|
-
}),
|
|
77
|
-
/*#__PURE__*/ jsx(Grid.Item, {
|
|
78
|
-
s: 12,
|
|
79
|
-
col: 6,
|
|
80
|
-
direction: "column",
|
|
81
|
-
alignItems: "stretch",
|
|
82
|
-
children: /*#__PURE__*/ jsxs(Field.Root, {
|
|
83
|
-
hint: formatMessage({
|
|
84
|
-
id: getTrad('config.note'),
|
|
85
|
-
defaultMessage: 'Note: You can override this value in the media library.'
|
|
86
|
-
}),
|
|
87
|
-
name: "sort",
|
|
88
|
-
children: [
|
|
89
|
-
/*#__PURE__*/ jsx(Field.Label, {
|
|
90
|
-
children: formatMessage({
|
|
91
|
-
id: getTrad('config.sort.title'),
|
|
92
|
-
defaultMessage: 'Default sort order'
|
|
93
|
-
})
|
|
94
|
-
}),
|
|
95
|
-
/*#__PURE__*/ jsx(SingleSelect, {
|
|
96
|
-
onChange: (value)=>onChange({
|
|
97
|
-
target: {
|
|
98
|
-
name: 'sort',
|
|
99
|
-
value
|
|
100
|
-
}
|
|
101
|
-
}),
|
|
102
|
-
value: sort,
|
|
103
|
-
"test-sort": sort,
|
|
104
|
-
"data-testid": "sort-select",
|
|
105
|
-
children: sortOptions.map((filter)=>/*#__PURE__*/ jsx(SingleSelectOption, {
|
|
106
|
-
"data-testid": `sort-option-${filter.value}`,
|
|
107
|
-
value: filter.value,
|
|
108
|
-
children: formatMessage({
|
|
109
|
-
id: getTrad(filter.key),
|
|
110
|
-
defaultMessage: `${filter.value}`
|
|
111
|
-
})
|
|
112
|
-
}, filter.key))
|
|
113
|
-
}),
|
|
114
|
-
/*#__PURE__*/ jsx(Field.Hint, {})
|
|
115
|
-
]
|
|
116
|
-
})
|
|
117
|
-
})
|
|
118
|
-
]
|
|
119
|
-
})
|
|
120
|
-
});
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
const ON_CHANGE = `${pluginId}/ON_CHANGE`;
|
|
124
|
-
const SET_LOADED = `${pluginId}/SET_LOADED`;
|
|
125
|
-
|
|
126
|
-
const onChange = ({ name, value })=>({
|
|
127
|
-
type: ON_CHANGE,
|
|
128
|
-
keys: name,
|
|
129
|
-
value
|
|
130
|
-
});
|
|
131
|
-
const setLoaded = ()=>({
|
|
132
|
-
type: SET_LOADED
|
|
133
|
-
});
|
|
134
|
-
|
|
135
|
-
const initialState = {
|
|
136
|
-
initialData: {},
|
|
137
|
-
modifiedData: {}
|
|
138
|
-
};
|
|
139
|
-
const init = (configData)=>{
|
|
140
|
-
return {
|
|
141
|
-
...initialState,
|
|
142
|
-
initialData: configData,
|
|
143
|
-
modifiedData: configData
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
const reducer = (state = initialState, action = {
|
|
148
|
-
type: ''
|
|
149
|
-
})=>// eslint-disable-next-line consistent-return
|
|
150
|
-
produce(state, (draftState)=>{
|
|
151
|
-
switch(action.type){
|
|
152
|
-
case ON_CHANGE:
|
|
153
|
-
{
|
|
154
|
-
if ('keys' in action && 'value' in action && action.keys) {
|
|
155
|
-
set(draftState, [
|
|
156
|
-
'modifiedData',
|
|
157
|
-
...action.keys.split('.')
|
|
158
|
-
], action.value);
|
|
159
|
-
}
|
|
160
|
-
break;
|
|
161
|
-
}
|
|
162
|
-
case SET_LOADED:
|
|
163
|
-
{
|
|
164
|
-
// This action re-initialises the state using the current modifiedData.
|
|
165
|
-
const reInitialise = init(get(draftState, [
|
|
166
|
-
'modifiedData'
|
|
167
|
-
], {}));
|
|
168
|
-
draftState.initialData = reInitialise.initialData;
|
|
169
|
-
draftState.modifiedData = reInitialise.modifiedData;
|
|
170
|
-
break;
|
|
171
|
-
}
|
|
172
|
-
default:
|
|
173
|
-
return draftState;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
// TODO: find a better naming convention for the file that was an index file before
|
|
178
|
-
const ConfigureTheView = ({ config })=>{
|
|
179
|
-
const { trackUsage } = useTracking();
|
|
180
|
-
const { formatMessage } = useIntl();
|
|
181
|
-
const { toggleNotification } = useNotification();
|
|
182
|
-
const { mutateConfig } = useConfig();
|
|
183
|
-
const { isLoading: isSubmittingForm } = mutateConfig;
|
|
184
|
-
const [showWarningSubmit, setWarningSubmit] = React.useState(false);
|
|
185
|
-
const toggleWarningSubmit = ()=>setWarningSubmit((prevState)=>!prevState);
|
|
186
|
-
const [reducerState, dispatch] = React.useReducer(reducer, initialState, ()=>init(config));
|
|
187
|
-
const typedDispatch = dispatch;
|
|
188
|
-
const { initialData, modifiedData } = reducerState;
|
|
189
|
-
const handleSubmit = (e)=>{
|
|
190
|
-
e.preventDefault();
|
|
191
|
-
toggleWarningSubmit();
|
|
192
|
-
};
|
|
193
|
-
const handleConfirm = async ()=>{
|
|
194
|
-
trackUsage('willEditMediaLibraryConfig');
|
|
195
|
-
await mutateConfig.mutateAsync(modifiedData);
|
|
196
|
-
setWarningSubmit(false);
|
|
197
|
-
typedDispatch(setLoaded());
|
|
198
|
-
toggleNotification({
|
|
199
|
-
type: 'success',
|
|
200
|
-
message: formatMessage({
|
|
201
|
-
id: 'notification.form.success.fields',
|
|
202
|
-
defaultMessage: 'Changes saved'
|
|
203
|
-
})
|
|
204
|
-
});
|
|
205
|
-
};
|
|
206
|
-
const handleChange = ({ target: { name, value } })=>{
|
|
207
|
-
typedDispatch(onChange({
|
|
208
|
-
name,
|
|
209
|
-
value
|
|
210
|
-
}));
|
|
211
|
-
};
|
|
212
|
-
return /*#__PURE__*/ jsx(Layouts.Root, {
|
|
213
|
-
children: /*#__PURE__*/ jsx(Page.Main, {
|
|
214
|
-
"aria-busy": isSubmittingForm,
|
|
215
|
-
children: /*#__PURE__*/ jsxs("form", {
|
|
216
|
-
onSubmit: handleSubmit,
|
|
217
|
-
children: [
|
|
218
|
-
/*#__PURE__*/ jsx(Layouts.Header, {
|
|
219
|
-
navigationAction: /*#__PURE__*/ jsx(Link, {
|
|
220
|
-
tag: NavLink,
|
|
221
|
-
startIcon: /*#__PURE__*/ jsx(ArrowLeft, {}),
|
|
222
|
-
to: `/plugins/${pluginId}`,
|
|
223
|
-
id: "go-back",
|
|
224
|
-
children: formatMessage({
|
|
225
|
-
id: getTrad('config.back'),
|
|
226
|
-
defaultMessage: 'Back'
|
|
227
|
-
})
|
|
228
|
-
}),
|
|
229
|
-
primaryAction: /*#__PURE__*/ jsx(Button, {
|
|
230
|
-
size: "S",
|
|
231
|
-
startIcon: /*#__PURE__*/ jsx(Check, {}),
|
|
232
|
-
disabled: isEqual(modifiedData, initialData),
|
|
233
|
-
type: "submit",
|
|
234
|
-
children: formatMessage({
|
|
235
|
-
id: 'global.save',
|
|
236
|
-
defaultMessage: 'Save'
|
|
237
|
-
})
|
|
238
|
-
}),
|
|
239
|
-
subtitle: formatMessage({
|
|
240
|
-
id: getTrad('config.subtitle'),
|
|
241
|
-
defaultMessage: 'Define the view settings of the media library.'
|
|
242
|
-
}),
|
|
243
|
-
title: formatMessage({
|
|
244
|
-
id: getTrad('config.title'),
|
|
245
|
-
defaultMessage: 'Configure the view - Media Library'
|
|
246
|
-
})
|
|
247
|
-
}),
|
|
248
|
-
/*#__PURE__*/ jsx(Layouts.Content, {
|
|
249
|
-
children: /*#__PURE__*/ jsx(Settings, {
|
|
250
|
-
"data-testid": "settings",
|
|
251
|
-
pageSize: modifiedData.pageSize || '',
|
|
252
|
-
sort: modifiedData.sort || '',
|
|
253
|
-
onChange: handleChange
|
|
254
|
-
})
|
|
255
|
-
}),
|
|
256
|
-
"x",
|
|
257
|
-
/*#__PURE__*/ jsx(Dialog.Root, {
|
|
258
|
-
open: showWarningSubmit,
|
|
259
|
-
onOpenChange: toggleWarningSubmit,
|
|
260
|
-
children: /*#__PURE__*/ jsx(ConfirmDialog, {
|
|
261
|
-
onConfirm: handleConfirm,
|
|
262
|
-
variant: "default",
|
|
263
|
-
children: formatMessage({
|
|
264
|
-
id: getTrad('config.popUpWarning.warning.updateAllSettings'),
|
|
265
|
-
defaultMessage: 'This will modify all your settings'
|
|
266
|
-
})
|
|
267
|
-
})
|
|
268
|
-
})
|
|
269
|
-
]
|
|
270
|
-
})
|
|
271
|
-
})
|
|
272
|
-
});
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
export { ConfigureTheView };
|
|
276
|
-
//# sourceMappingURL=ConfigureTheView-CO72K73d.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigureTheView-CO72K73d.mjs","sources":["../../../admin/src/pages/App/ConfigureTheView/components/Settings.tsx","../../../admin/src/pages/App/ConfigureTheView/state/actionTypes.ts","../../../admin/src/pages/App/ConfigureTheView/state/actions.ts","../../../admin/src/pages/App/ConfigureTheView/state/init.ts","../../../admin/src/pages/App/ConfigureTheView/state/reducer.ts","../../../admin/src/pages/App/ConfigureTheView/ConfigureTheView.tsx"],"sourcesContent":["import { Box, Grid, SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { pageSizes, sortOptions } from '../../../../constants';\nimport { getTrad } from '../../../../utils';\n\nimport type { Configuration } from '../../../../../../shared/contracts/configuration';\n\ninterface SettingsProps {\n sort: string;\n pageSize: string | number;\n onChange: ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => void;\n}\n\nconst Settings = ({ sort = '', pageSize = 10, onChange }: SettingsProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Grid.Root gap={4}>\n <Grid.Item s={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.entries.note'),\n defaultMessage: 'Number of assets displayed by default in the Media Library',\n })}\n name=\"pageSize\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.entries.title'),\n defaultMessage: 'Entries per page',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'pageSize', value } })}\n value={pageSize}\n >\n {pageSizes.map((pageSize) => (\n <SingleSelectOption key={pageSize} value={pageSize}>\n {pageSize}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n <Grid.Item s={12} col={6} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n hint={formatMessage({\n id: getTrad('config.note'),\n defaultMessage: 'Note: You can override this value in the media library.',\n })}\n name=\"sort\"\n >\n <Field.Label>\n {formatMessage({\n id: getTrad('config.sort.title'),\n defaultMessage: 'Default sort order',\n })}\n </Field.Label>\n <SingleSelect\n onChange={(value) => onChange({ target: { name: 'sort', value } })}\n value={sort}\n test-sort={sort}\n data-testid=\"sort-select\"\n >\n {sortOptions.map((filter) => (\n <SingleSelectOption\n data-testid={`sort-option-${filter.value}`}\n key={filter.key}\n value={filter.value}\n >\n {formatMessage({ id: getTrad(filter.key), defaultMessage: `${filter.value}` })}\n </SingleSelectOption>\n ))}\n </SingleSelect>\n <Field.Hint />\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Box>\n );\n};\n\nexport { Settings };\n","import { pluginId } from '../../../../pluginId';\n\nexport const ON_CHANGE = `${pluginId}/ON_CHANGE`;\nexport const SET_LOADED = `${pluginId}/SET_LOADED`;\n","import { ON_CHANGE, SET_LOADED } from './actionTypes';\n\nimport type { InitialState } from './init';\n\nexport const onChange = ({\n name,\n value,\n}: {\n name: keyof NonNullable<InitialState['initialData']>;\n value: number | string;\n}) => ({\n type: ON_CHANGE,\n keys: name,\n value,\n});\n\nexport const setLoaded = () => ({\n type: SET_LOADED,\n});\n","import type { Configuration } from '../../../../../../shared/contracts/configuration';\n\nexport type InitialState = {\n initialData: Partial<Configuration>;\n modifiedData: Partial<Configuration>;\n};\n\nconst initialState: InitialState = {\n initialData: {},\n modifiedData: {},\n};\n\nconst init = (configData: InitialState['initialData']): InitialState => {\n return {\n ...initialState,\n initialData: configData,\n modifiedData: configData,\n };\n};\nexport { init, initialState };\n","import { produce } from 'immer'; // current\nimport get from 'lodash/get';\nimport set from 'lodash/set';\n\nimport { ON_CHANGE, SET_LOADED } from './actionTypes';\nimport { init, initialState } from './init';\n\nimport type { InitialState } from './init';\n\nexport interface ActionOnChange {\n type: string;\n keys?: string;\n value: string | number;\n}\n\nexport interface ActionSetLoaded {\n type: string;\n}\n\ninterface ActionInitialValue {\n type: string;\n}\n\nexport type Action = ActionSetLoaded | ActionOnChange | ActionInitialValue;\n\nexport const reducer = (\n state: InitialState = initialState,\n action: Action = {\n type: '',\n }\n) =>\n // eslint-disable-next-line consistent-return\n produce(state, (draftState) => {\n switch (action.type) {\n case ON_CHANGE: {\n if ('keys' in action && 'value' in action && action.keys) {\n set(draftState, ['modifiedData', ...action.keys.split('.')], action.value);\n }\n break;\n }\n case SET_LOADED: {\n // This action re-initialises the state using the current modifiedData.\n const reInitialise = init(get(draftState, ['modifiedData'], {}));\n draftState.initialData = reInitialise.initialData;\n draftState.modifiedData = reInitialise.modifiedData;\n break;\n }\n default:\n return draftState;\n }\n });\n","// TODO: find a better naming convention for the file that was an index file before\nimport * as React from 'react';\n\nimport {\n ConfirmDialog,\n useTracking,\n useNotification,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Button, Dialog, Link } from '@strapi/design-system';\nimport { ArrowLeft, Check } from '@strapi/icons';\nimport isEqual from 'lodash/isEqual';\nimport { useIntl } from 'react-intl';\nimport { NavLink } from 'react-router-dom';\n\nimport { useConfig } from '../../../hooks/useConfig';\nimport { pluginId } from '../../../pluginId';\nimport { getTrad } from '../../../utils';\n\nimport { Settings } from './components/Settings';\nimport { onChange, setLoaded } from './state/actions';\nimport { init, initialState } from './state/init';\nimport { reducer } from './state/reducer';\n\nimport type { InitialState } from './state/init';\nimport type { Action } from './state/reducer';\nimport type { Configuration } from '../../../../../shared/contracts/configuration';\n\ninterface ConfigureTheViewProps {\n config: Configuration;\n}\n\nexport const ConfigureTheView = ({ config }: ConfigureTheViewProps) => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { mutateConfig } = useConfig();\n const { isLoading: isSubmittingForm } = mutateConfig;\n\n const [showWarningSubmit, setWarningSubmit] = React.useState(false);\n const toggleWarningSubmit = () => setWarningSubmit((prevState) => !prevState);\n\n const [reducerState, dispatch] = React.useReducer(\n reducer,\n initialState,\n (): InitialState => init(config)\n );\n const typedDispatch: React.Dispatch<Action> = dispatch;\n const { initialData, modifiedData } = reducerState;\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n toggleWarningSubmit();\n };\n\n const handleConfirm = async () => {\n trackUsage('willEditMediaLibraryConfig');\n await mutateConfig.mutateAsync(modifiedData as Configuration);\n setWarningSubmit(false);\n typedDispatch(setLoaded());\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'notification.form.success.fields',\n defaultMessage: 'Changes saved',\n }),\n });\n };\n\n const handleChange = ({\n target: { name, value },\n }: {\n target: { name: keyof Configuration; value: string | number };\n }) => {\n typedDispatch(onChange({ name, value }));\n };\n\n return (\n <Layouts.Root>\n <Page.Main aria-busy={isSubmittingForm}>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n navigationAction={\n <Link\n tag={NavLink}\n startIcon={<ArrowLeft />}\n to={`/plugins/${pluginId}`}\n id=\"go-back\"\n >\n {formatMessage({ id: getTrad('config.back'), defaultMessage: 'Back' })}\n </Link>\n }\n primaryAction={\n <Button\n size=\"S\"\n startIcon={<Check />}\n disabled={isEqual(modifiedData, initialData)}\n type=\"submit\"\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTrad('config.subtitle'),\n defaultMessage: 'Define the view settings of the media library.',\n })}\n title={formatMessage({\n id: getTrad('config.title'),\n defaultMessage: 'Configure the view - Media Library',\n })}\n />\n <Layouts.Content>\n <Settings\n data-testid=\"settings\"\n pageSize={modifiedData.pageSize || ''}\n sort={modifiedData.sort || ''}\n onChange={handleChange}\n />\n </Layouts.Content>\n x\n <Dialog.Root open={showWarningSubmit} onOpenChange={toggleWarningSubmit}>\n <ConfirmDialog onConfirm={handleConfirm} variant=\"default\">\n {formatMessage({\n id: getTrad('config.popUpWarning.warning.updateAllSettings'),\n defaultMessage: 'This will modify all your settings',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </form>\n </Page.Main>\n </Layouts.Root>\n );\n};\n"],"names":["Settings","sort","pageSize","onChange","formatMessage","useIntl","_jsx","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","_jsxs","Grid","Root","gap","Item","s","col","direction","alignItems","Field","hint","id","getTrad","defaultMessage","name","Label","SingleSelect","value","target","pageSizes","map","SingleSelectOption","Hint","test-sort","data-testid","sortOptions","filter","key","ON_CHANGE","pluginId","SET_LOADED","type","keys","setLoaded","initialState","initialData","modifiedData","init","configData","reducer","state","action","produce","draftState","set","split","reInitialise","get","ConfigureTheView","config","trackUsage","useTracking","toggleNotification","useNotification","mutateConfig","useConfig","isLoading","isSubmittingForm","showWarningSubmit","setWarningSubmit","React","useState","toggleWarningSubmit","prevState","reducerState","dispatch","useReducer","typedDispatch","handleSubmit","e","preventDefault","handleConfirm","mutateAsync","message","handleChange","Layouts","Page","Main","aria-busy","form","onSubmit","Header","navigationAction","Link","tag","NavLink","startIcon","ArrowLeft","to","primaryAction","Button","size","Check","disabled","isEqual","subtitle","title","Content","Dialog","open","onOpenChange","ConfirmDialog","onConfirm","variant"],"mappings":"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"}
|