@strapi/upload 5.58.0 → 5.60.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AssetPickerDialog/AssetPickerDialog.js +434 -0
- package/dist/admin/components/AssetPickerDialog/AssetPickerDialog.js.map +1 -0
- package/dist/admin/components/AssetPickerDialog/AssetPickerDialog.mjs +432 -0
- package/dist/admin/components/AssetPickerDialog/AssetPickerDialog.mjs.map +1 -0
- package/dist/admin/components/AssetPickerDialog/FolderBreadcrumbs.js +91 -0
- package/dist/admin/components/AssetPickerDialog/FolderBreadcrumbs.js.map +1 -0
- package/dist/admin/components/AssetPickerDialog/FolderBreadcrumbs.mjs +89 -0
- package/dist/admin/components/AssetPickerDialog/FolderBreadcrumbs.mjs.map +1 -0
- package/dist/admin/components/AssetPickerDialog/PickerSelectionProvider.js +178 -0
- package/dist/admin/components/AssetPickerDialog/PickerSelectionProvider.js.map +1 -0
- package/dist/admin/components/AssetPickerDialog/PickerSelectionProvider.mjs +175 -0
- package/dist/admin/components/AssetPickerDialog/PickerSelectionProvider.mjs.map +1 -0
- package/dist/admin/components/AssetPickerDialog/SortableSelection.js +143 -0
- package/dist/admin/components/AssetPickerDialog/SortableSelection.js.map +1 -0
- package/dist/admin/components/AssetPickerDialog/SortableSelection.mjs +141 -0
- package/dist/admin/components/AssetPickerDialog/SortableSelection.mjs.map +1 -0
- package/dist/admin/components/AssetPickerDialog/pickerSelection.js +49 -0
- package/dist/admin/components/AssetPickerDialog/pickerSelection.js.map +1 -0
- package/dist/admin/components/AssetPickerDialog/pickerSelection.mjs +41 -0
- package/dist/admin/components/AssetPickerDialog/pickerSelection.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AddAssetMenu.js +142 -0
- package/dist/admin/components/MediaLibraryInput/AddAssetMenu.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AddAssetMenu.mjs +140 -0
- package/dist/admin/components/MediaLibraryInput/AddAssetMenu.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetCard.js +240 -0
- package/dist/admin/components/MediaLibraryInput/AssetCard.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetCard.mjs +237 -0
- package/dist/admin/components/MediaLibraryInput/AssetCard.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetCarousel.js +161 -0
- package/dist/admin/components/MediaLibraryInput/AssetCarousel.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetCarousel.mjs +159 -0
- package/dist/admin/components/MediaLibraryInput/AssetCarousel.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetDropZone.js +156 -0
- package/dist/admin/components/MediaLibraryInput/AssetDropZone.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetDropZone.mjs +154 -0
- package/dist/admin/components/MediaLibraryInput/AssetDropZone.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetPreview.js +109 -0
- package/dist/admin/components/MediaLibraryInput/AssetPreview.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetPreview.mjs +106 -0
- package/dist/admin/components/MediaLibraryInput/AssetPreview.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetRow.js +211 -0
- package/dist/admin/components/MediaLibraryInput/AssetRow.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/AssetRow.mjs +208 -0
- package/dist/admin/components/MediaLibraryInput/AssetRow.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/FieldControls.js +32 -0
- package/dist/admin/components/MediaLibraryInput/FieldControls.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/FieldControls.mjs +29 -0
- package/dist/admin/components/MediaLibraryInput/FieldControls.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js +439 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs +433 -0
- package/dist/admin/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/UploadProgressBar.js +42 -0
- package/dist/admin/components/MediaLibraryInput/UploadProgressBar.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/UploadProgressBar.mjs +40 -0
- package/dist/admin/components/MediaLibraryInput/UploadProgressBar.mjs.map +1 -0
- package/dist/admin/components/MediaLibraryInput/useFieldUploads.js +122 -0
- package/dist/admin/components/MediaLibraryInput/useFieldUploads.js.map +1 -0
- package/dist/admin/components/MediaLibraryInput/useFieldUploads.mjs +120 -0
- package/dist/admin/components/MediaLibraryInput/useFieldUploads.mjs.map +1 -0
- package/dist/admin/components/UploadProgressDialog.js +2 -1
- package/dist/admin/components/UploadProgressDialog.js.map +1 -1
- package/dist/admin/components/UploadProgressDialog.mjs +2 -1
- package/dist/admin/components/UploadProgressDialog.mjs.map +1 -1
- package/dist/admin/hooks/useAIMetadataAvailability.js +5 -1
- package/dist/admin/hooks/useAIMetadataAvailability.js.map +1 -1
- package/dist/admin/hooks/useAIMetadataAvailability.mjs +5 -1
- package/dist/admin/hooks/useAIMetadataAvailability.mjs.map +1 -1
- package/dist/admin/hooks/useAIMetadataEnabled.js +7 -1
- package/dist/admin/hooks/useAIMetadataEnabled.js.map +1 -1
- package/dist/admin/hooks/useAIMetadataEnabled.mjs +7 -1
- package/dist/admin/hooks/useAIMetadataEnabled.mjs.map +1 -1
- package/dist/admin/hooks/useMediaLibraryPermissions.js +16 -2
- package/dist/admin/hooks/useMediaLibraryPermissions.js.map +1 -1
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs +16 -2
- package/dist/admin/hooks/useMediaLibraryPermissions.mjs.map +1 -1
- package/dist/admin/hooks/useTracking.js +5 -1
- package/dist/admin/hooks/useTracking.js.map +1 -1
- package/dist/admin/hooks/useTracking.mjs +5 -1
- package/dist/admin/hooks/useTracking.mjs.map +1 -1
- package/dist/admin/index.js +7 -2
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +7 -2
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetCard/AssetCardBase.js.map +1 -1
- package/dist/admin/legacy/components/AssetCard/AssetCardBase.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetCard/VideoPreview.js +2 -1
- package/dist/admin/legacy/components/AssetCard/VideoPreview.js.map +1 -1
- package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs +2 -1
- package/dist/admin/legacy/components/AssetCard/VideoPreview.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/AssetDialog.js +3 -1
- package/dist/admin/legacy/components/AssetDialog/AssetDialog.js.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs +3 -1
- package/dist/admin/legacy/components/AssetDialog/AssetDialog.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js +3 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.js.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs +3 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/BrowseStep.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.js.map +1 -1
- package/dist/admin/legacy/components/AssetDialog/BrowseStep/Filters.mjs.map +1 -1
- package/dist/admin/legacy/components/AssetGridList/AssetGridList.js +7 -6
- package/dist/admin/legacy/components/AssetGridList/AssetGridList.js.map +1 -1
- package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs +7 -6
- package/dist/admin/legacy/components/AssetGridList/AssetGridList.mjs.map +1 -1
- package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js +2 -1
- package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.js.map +1 -1
- package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs +2 -1
- package/dist/admin/legacy/components/Breadcrumbs/CrumbSimpleMenuAsync.mjs.map +1 -1
- package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js +2 -1
- package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.js.map +1 -1
- package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs +2 -1
- package/dist/admin/legacy/components/BulkMoveDialog/BulkMoveDialog.mjs.map +1 -1
- package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js +3 -1
- package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.js.map +1 -1
- package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs +3 -1
- package/dist/admin/legacy/components/EditAssetDialog/EditAssetContent.mjs.map +1 -1
- package/dist/admin/legacy/components/FilterList/FilterList.js.map +1 -1
- package/dist/admin/legacy/components/FilterList/FilterList.mjs.map +1 -1
- package/dist/admin/legacy/components/FilterPopover/FilterPopover.js.map +1 -1
- package/dist/admin/legacy/components/FilterPopover/FilterPopover.mjs.map +1 -1
- package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js +2 -1
- package/dist/admin/legacy/components/FilterPopover/FilterValueInput.js.map +1 -1
- package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs +2 -1
- package/dist/admin/legacy/components/FilterPopover/FilterValueInput.mjs.map +1 -1
- package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js +4 -2
- package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.js.map +1 -1
- package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs +4 -2
- package/dist/admin/legacy/components/MediaLibraryDialog/MediaLibraryDialog.mjs.map +1 -1
- package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js +2 -1
- package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.js.map +1 -1
- package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs +2 -1
- package/dist/admin/legacy/components/MediaLibraryInput/MediaLibraryInput.mjs.map +1 -1
- package/dist/admin/legacy/components/SelectTree/SelectTree.js +3 -1
- package/dist/admin/legacy/components/SelectTree/SelectTree.js.map +1 -1
- package/dist/admin/legacy/components/SelectTree/SelectTree.mjs +3 -1
- package/dist/admin/legacy/components/SelectTree/SelectTree.mjs.map +1 -1
- package/dist/admin/legacy/components/TableList/TableList.js +3 -1
- package/dist/admin/legacy/components/TableList/TableList.js.map +1 -1
- package/dist/admin/legacy/components/TableList/TableList.mjs +3 -1
- package/dist/admin/legacy/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/legacy/components/TableList/TableRows.js +3 -1
- package/dist/admin/legacy/components/TableList/TableRows.js.map +1 -1
- package/dist/admin/legacy/components/TableList/TableRows.mjs +3 -1
- package/dist/admin/legacy/components/TableList/TableRows.mjs.map +1 -1
- package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js +3 -1
- package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.js.map +1 -1
- package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs +3 -1
- package/dist/admin/legacy/components/UploadAssetDialog/UploadAssetDialog.mjs.map +1 -1
- package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.js.map +1 -1
- package/dist/admin/legacy/pages/App/ConfigureTheView/ConfigureTheView.mjs.map +1 -1
- package/dist/admin/legacy/pages/App/components/BulkActions.js +2 -1
- package/dist/admin/legacy/pages/App/components/BulkActions.js.map +1 -1
- package/dist/admin/legacy/pages/App/components/BulkActions.mjs +2 -1
- package/dist/admin/legacy/pages/App/components/BulkActions.mjs.map +1 -1
- package/dist/admin/legacy/pages/App/components/BulkMoveButton.js +2 -1
- package/dist/admin/legacy/pages/App/components/BulkMoveButton.js.map +1 -1
- package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs +2 -1
- package/dist/admin/legacy/pages/App/components/BulkMoveButton.mjs.map +1 -1
- package/dist/admin/pages/Assets/AssetsPage.js +13 -302
- package/dist/admin/pages/Assets/AssetsPage.js.map +1 -1
- package/dist/admin/pages/Assets/AssetsPage.mjs +11 -280
- package/dist/admin/pages/Assets/AssetsPage.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsGrid.js +143 -31
- package/dist/admin/pages/Assets/components/AssetsGrid.js.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsGrid.mjs +146 -34
- package/dist/admin/pages/Assets/components/AssetsGrid.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsSearchInput.js +43 -2
- package/dist/admin/pages/Assets/components/AssetsSearchInput.js.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs +45 -4
- package/dist/admin/pages/Assets/components/AssetsSearchInput.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsTable.js +60 -35
- package/dist/admin/pages/Assets/components/AssetsTable.js.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsTable.mjs +62 -37
- package/dist/admin/pages/Assets/components/AssetsTable.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/AssetsView.js +145 -0
- package/dist/admin/pages/Assets/components/AssetsView.js.map +1 -0
- package/dist/admin/pages/Assets/components/AssetsView.mjs +143 -0
- package/dist/admin/pages/Assets/components/AssetsView.mjs.map +1 -0
- package/dist/admin/pages/Assets/components/BulkActionsBar.js +3 -1
- package/dist/admin/pages/Assets/components/BulkActionsBar.js.map +1 -1
- package/dist/admin/pages/Assets/components/BulkActionsBar.mjs +4 -2
- package/dist/admin/pages/Assets/components/BulkActionsBar.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/BusyOverlay.mjs +1 -1
- package/dist/admin/pages/Assets/components/DateRangeCalendar.js +10 -7
- package/dist/admin/pages/Assets/components/DateRangeCalendar.js.map +1 -1
- package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs +10 -7
- package/dist/admin/pages/Assets/components/DateRangeCalendar.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/Dnd/DragOverlayChip.mjs +1 -1
- package/dist/admin/pages/Assets/components/Dnd/ReorderHandle.js +40 -0
- package/dist/admin/pages/Assets/components/Dnd/ReorderHandle.js.map +1 -0
- package/dist/admin/pages/Assets/components/Dnd/ReorderHandle.mjs +38 -0
- package/dist/admin/pages/Assets/components/Dnd/ReorderHandle.mjs.map +1 -0
- package/dist/admin/pages/Assets/components/Dnd/assetSortable.js +29 -0
- package/dist/admin/pages/Assets/components/Dnd/assetSortable.js.map +1 -0
- package/dist/admin/pages/Assets/components/Dnd/assetSortable.mjs +24 -0
- package/dist/admin/pages/Assets/components/Dnd/assetSortable.mjs.map +1 -0
- package/dist/admin/pages/Assets/components/Dnd/dndIds.js +5 -0
- package/dist/admin/pages/Assets/components/Dnd/dndIds.js.map +1 -1
- package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs +5 -1
- package/dist/admin/pages/Assets/components/Dnd/dndIds.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js +41 -13
- package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.js.map +1 -1
- package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs +41 -13
- package/dist/admin/pages/Assets/components/Dnd/useAssetDnd.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js +4 -2
- package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -1
- package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs +5 -3
- package/dist/admin/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/FilterBadges.js +32 -3
- package/dist/admin/pages/Assets/components/FilterBadges.js.map +1 -1
- package/dist/admin/pages/Assets/components/FilterBadges.mjs +35 -6
- package/dist/admin/pages/Assets/components/FilterBadges.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/FilterMenu.mjs +2 -2
- package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js +274 -55
- package/dist/admin/pages/Assets/components/FolderTree/FolderTree.js.map +1 -1
- package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs +277 -59
- package/dist/admin/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -1
- package/dist/admin/pages/Assets/components/FolderTree/collapsedBranch.js +32 -0
- package/dist/admin/pages/Assets/components/FolderTree/collapsedBranch.js.map +1 -0
- package/dist/admin/pages/Assets/components/FolderTree/collapsedBranch.mjs +29 -0
- package/dist/admin/pages/Assets/components/FolderTree/collapsedBranch.mjs.map +1 -0
- package/dist/admin/pages/Assets/components/ViewToggle.js +126 -0
- package/dist/admin/pages/Assets/components/ViewToggle.js.map +1 -0
- package/dist/admin/pages/Assets/components/ViewToggle.mjs +104 -0
- package/dist/admin/pages/Assets/components/ViewToggle.mjs.map +1 -0
- package/dist/admin/pages/Assets/hooks/useAssetSearch.js +2 -2
- package/dist/admin/pages/Assets/hooks/useAssetSearch.js.map +1 -1
- package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs +2 -2
- package/dist/admin/pages/Assets/hooks/useAssetSearch.mjs.map +1 -1
- package/dist/admin/pages/Assets/hooks/useAssetSelection.js +19 -1
- package/dist/admin/pages/Assets/hooks/useAssetSelection.js.map +1 -1
- package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs +20 -3
- package/dist/admin/pages/Assets/hooks/useAssetSelection.mjs.map +1 -1
- package/dist/admin/pages/Assets/hooks/useAssetsList.js +87 -0
- package/dist/admin/pages/Assets/hooks/useAssetsList.js.map +1 -0
- package/dist/admin/pages/Assets/hooks/useAssetsList.mjs +85 -0
- package/dist/admin/pages/Assets/hooks/useAssetsList.mjs.map +1 -0
- package/dist/admin/pages/Assets/hooks/useBusyAssets.mjs +1 -1
- package/dist/admin/pages/Assets/hooks/useFolderNavigation.js +2 -1
- package/dist/admin/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
- package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs +3 -2
- package/dist/admin/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
- package/dist/admin/pages/Assets/hooks/useListFilters.js +2 -1
- package/dist/admin/pages/Assets/hooks/useListFilters.js.map +1 -1
- package/dist/admin/pages/Assets/hooks/useListFilters.mjs +3 -2
- package/dist/admin/pages/Assets/hooks/useListFilters.mjs.map +1 -1
- package/dist/admin/pages/Assets/hooks/useListQueryParams.js +80 -0
- package/dist/admin/pages/Assets/hooks/useListQueryParams.js.map +1 -0
- package/dist/admin/pages/Assets/hooks/useListQueryParams.mjs +77 -0
- package/dist/admin/pages/Assets/hooks/useListQueryParams.mjs.map +1 -0
- package/dist/admin/pages/Assets/hooks/useListSettings.js +32 -0
- package/dist/admin/pages/Assets/hooks/useListSettings.js.map +1 -0
- package/dist/admin/pages/Assets/hooks/useListSettings.mjs +29 -0
- package/dist/admin/pages/Assets/hooks/useListSettings.mjs.map +1 -0
- package/dist/admin/pages/Assets/hooks/useListSort.js +2 -1
- package/dist/admin/pages/Assets/hooks/useListSort.js.map +1 -1
- package/dist/admin/pages/Assets/hooks/useListSort.mjs +3 -2
- package/dist/admin/pages/Assets/hooks/useListSort.mjs.map +1 -1
- package/dist/admin/services/api.js +106 -11
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs +105 -13
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/src/components/AssetPickerDialog/AssetPickerDialog.d.ts +19 -0
- package/dist/admin/src/components/AssetPickerDialog/FolderBreadcrumbs.d.ts +10 -0
- package/dist/admin/src/components/AssetPickerDialog/PickerSelectionProvider.d.ts +28 -0
- package/dist/admin/src/components/AssetPickerDialog/SortableSelection.d.ts +12 -0
- package/dist/admin/src/components/AssetPickerDialog/pickerSelection.d.ts +26 -0
- package/dist/admin/src/components/MediaLibraryInput/AddAssetMenu.d.ts +19 -0
- package/dist/admin/src/components/MediaLibraryInput/AssetCard.d.ts +25 -0
- package/dist/admin/src/components/MediaLibraryInput/AssetCarousel.d.ts +16 -0
- package/dist/admin/src/components/MediaLibraryInput/AssetDropZone.d.ts +21 -0
- package/dist/admin/src/components/MediaLibraryInput/AssetPreview.d.ts +17 -0
- package/dist/admin/src/components/MediaLibraryInput/AssetRow.d.ts +25 -0
- package/dist/admin/src/components/MediaLibraryInput/FieldControls.d.ts +19 -0
- package/dist/admin/src/components/MediaLibraryInput/MediaLibraryInput.d.ts +28 -0
- package/dist/admin/src/components/MediaLibraryInput/UploadProgressBar.d.ts +7 -0
- package/dist/admin/src/components/MediaLibraryInput/useFieldUploads.d.ts +31 -0
- package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +3 -0
- package/dist/admin/src/legacy/components/BulkMoveDialog/BulkMoveDialog.d.ts +1 -1
- package/dist/admin/src/legacy/pages/App/components/BulkActions.d.ts +1 -1
- package/dist/admin/src/pages/Assets/components/AssetsGrid.d.ts +3 -1
- package/dist/admin/src/pages/Assets/components/AssetsSearchInput.d.ts +11 -1
- package/dist/admin/src/pages/Assets/components/AssetsView.d.ts +29 -0
- package/dist/admin/src/pages/Assets/components/Dnd/ReorderHandle.d.ts +12 -0
- package/dist/admin/src/pages/Assets/components/Dnd/assetSortable.d.ts +37 -0
- package/dist/admin/src/pages/Assets/components/Dnd/dndIds.d.ts +5 -0
- package/dist/admin/src/pages/Assets/components/Dnd/useAssetDnd.d.ts +23 -2
- package/dist/admin/src/pages/Assets/components/FolderTree/FolderTree.d.ts +1 -0
- package/dist/admin/src/pages/Assets/components/FolderTree/collapsedBranch.d.ts +21 -0
- package/dist/admin/src/pages/Assets/components/ViewToggle.d.ts +8 -0
- package/dist/admin/src/pages/Assets/hooks/useAssetSelection.d.ts +26 -0
- package/dist/admin/src/pages/Assets/hooks/useAssetsList.d.ts +30 -0
- package/dist/admin/src/pages/Assets/hooks/useListQueryParams.d.ts +27 -0
- package/dist/admin/src/pages/Assets/hooks/useListSettings.d.ts +29 -0
- package/dist/admin/src/services/api.d.ts +30 -1
- package/dist/admin/src/store/uploadProgress.d.ts +14 -1
- package/dist/admin/src/utils/allowedMediaTypes.d.ts +16 -0
- package/dist/admin/src/utils/findFolderPath.d.ts +6 -0
- package/dist/admin/src/utils/isAllowedAssetType.d.ts +14 -0
- package/dist/admin/store/uploadProgress.js +30 -3
- package/dist/admin/store/uploadProgress.js.map +1 -1
- package/dist/admin/store/uploadProgress.mjs +29 -4
- package/dist/admin/store/uploadProgress.mjs.map +1 -1
- package/dist/admin/translations/ca.json.js +3 -3
- package/dist/admin/translations/ca.json.mjs +3 -3
- package/dist/admin/translations/da.json.js +1 -1
- package/dist/admin/translations/da.json.mjs +1 -1
- package/dist/admin/translations/de.json.js +1 -1
- package/dist/admin/translations/de.json.mjs +1 -1
- package/dist/admin/translations/en.json.js +29 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +29 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +1 -1
- package/dist/admin/translations/es.json.mjs +1 -1
- package/dist/admin/translations/sk.json.js +2 -2
- package/dist/admin/translations/sk.json.mjs +2 -2
- package/dist/admin/translations/tr.json.js +2 -2
- package/dist/admin/translations/tr.json.mjs +2 -2
- package/dist/admin/translations/zh-Hans.json.js +1 -1
- package/dist/admin/translations/zh-Hans.json.mjs +1 -1
- package/dist/admin/translations/zh.json.js +2 -2
- package/dist/admin/translations/zh.json.mjs +2 -2
- package/dist/admin/utils/allowedMediaTypes.js +42 -0
- package/dist/admin/utils/allowedMediaTypes.js.map +1 -0
- package/dist/admin/utils/allowedMediaTypes.mjs +39 -0
- package/dist/admin/utils/allowedMediaTypes.mjs.map +1 -0
- package/dist/admin/utils/findFolderPath.js +26 -0
- package/dist/admin/utils/findFolderPath.js.map +1 -0
- package/dist/admin/utils/findFolderPath.mjs +24 -0
- package/dist/admin/utils/findFolderPath.mjs.map +1 -0
- package/dist/admin/utils/isAllowedAssetType.js +33 -0
- package/dist/admin/utils/isAllowedAssetType.js.map +1 -0
- package/dist/admin/utils/isAllowedAssetType.mjs +31 -0
- package/dist/admin/utils/isAllowedAssetType.mjs.map +1 -0
- package/dist/server/config.js +6 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +6 -0
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/admin-settings.js +5 -1
- package/dist/server/controllers/admin-settings.js.map +1 -1
- package/dist/server/controllers/admin-settings.mjs +5 -1
- package/dist/server/controllers/admin-settings.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/upload.js.map +1 -1
- package/dist/server/controllers/validation/admin/upload.mjs.map +1 -1
- package/dist/server/controllers/validation/content-api/upload.js.map +1 -1
- package/dist/server/controllers/validation/content-api/upload.mjs.map +1 -1
- package/dist/server/mcp/ambient-instance.js +7 -5
- package/dist/server/mcp/ambient-instance.js.map +1 -1
- package/dist/server/mcp/ambient-instance.mjs +7 -5
- package/dist/server/mcp/ambient-instance.mjs.map +1 -1
- package/dist/server/mcp/handlers/folder-handlers.js +4 -16
- package/dist/server/mcp/handlers/folder-handlers.js.map +1 -1
- package/dist/server/mcp/handlers/folder-handlers.mjs +5 -17
- package/dist/server/mcp/handlers/folder-handlers.mjs.map +1 -1
- package/dist/server/mcp/handlers/read-handlers.js +6 -14
- package/dist/server/mcp/handlers/read-handlers.js.map +1 -1
- package/dist/server/mcp/handlers/read-handlers.mjs +7 -15
- package/dist/server/mcp/handlers/read-handlers.mjs.map +1 -1
- package/dist/server/mcp/handlers/write-handlers.js +3 -13
- package/dist/server/mcp/handlers/write-handlers.js.map +1 -1
- package/dist/server/mcp/handlers/write-handlers.mjs +3 -13
- package/dist/server/mcp/handlers/write-handlers.mjs.map +1 -1
- package/dist/server/mcp/register-upload-mcp-tools.js +215 -195
- package/dist/server/mcp/register-upload-mcp-tools.js.map +1 -1
- package/dist/server/mcp/register-upload-mcp-tools.mjs +215 -195
- package/dist/server/mcp/register-upload-mcp-tools.mjs.map +1 -1
- package/dist/server/services/image-manipulation.js +35 -16
- package/dist/server/services/image-manipulation.js.map +1 -1
- package/dist/server/services/image-manipulation.mjs +35 -16
- package/dist/server/services/image-manipulation.mjs.map +1 -1
- package/dist/server/services/upload.js.map +1 -1
- package/dist/server/services/upload.mjs.map +1 -1
- package/dist/server/src/config.d.ts +3 -0
- package/dist/server/src/config.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/upload.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-api/upload.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -1
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/mcp/ambient-instance.d.ts +7 -5
- package/dist/server/src/mcp/ambient-instance.d.ts.map +1 -1
- package/dist/server/src/mcp/handlers/folder-handlers.d.ts.map +1 -1
- package/dist/server/src/mcp/handlers/read-handlers.d.ts +3 -2
- package/dist/server/src/mcp/handlers/read-handlers.d.ts.map +1 -1
- package/dist/server/src/mcp/handlers/write-handlers.d.ts.map +1 -1
- package/dist/server/src/mcp/register-upload-mcp-tools.d.ts +9 -14
- package/dist/server/src/mcp/register-upload-mcp-tools.d.ts.map +1 -1
- package/dist/server/src/services/extensions/utils.d.ts +11 -11
- package/dist/server/src/services/image-manipulation.d.ts +1 -1
- package/dist/server/src/services/image-manipulation.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +1 -1
- package/dist/server/src/types.d.ts +64 -12
- package/dist/server/src/types.d.ts.map +1 -1
- package/package.json +8 -6
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var ToggleGroup = require('@radix-ui/react-toggle-group');
|
|
6
5
|
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
7
6
|
var designSystem = require('@strapi/design-system');
|
|
8
7
|
var icons = require('@strapi/icons');
|
|
@@ -12,73 +11,32 @@ var useAIMetadataEnabled = require('../../hooks/useAIMetadataEnabled.js');
|
|
|
12
11
|
var useMediaLibraryPermissions = require('../../hooks/useMediaLibraryPermissions.js');
|
|
13
12
|
var useTracking = require('../../hooks/useTracking.js');
|
|
14
13
|
var api = require('../../services/api.js');
|
|
15
|
-
var folders = require('../../services/folders.js');
|
|
16
14
|
var settings = require('../../services/settings.js');
|
|
17
15
|
var itemLocations = require('../../utils/itemLocations.js');
|
|
18
16
|
var translations = require('../../utils/translations.js');
|
|
19
17
|
var typeFromMime = require('../../utils/typeFromMime.js');
|
|
20
18
|
var AssetDetailsDrawer = require('./components/AssetDetails/AssetDetailsDrawer.js');
|
|
21
|
-
var AssetsGrid = require('./components/AssetsGrid.js');
|
|
22
19
|
var AssetsSearchInput = require('./components/AssetsSearchInput.js');
|
|
23
|
-
var
|
|
24
|
-
var BulkActionsBar = require('./components/BulkActionsBar.js');
|
|
20
|
+
var AssetsView = require('./components/AssetsView.js');
|
|
25
21
|
var AssetsDndProvider = require('./components/Dnd/AssetsDndProvider.js');
|
|
26
22
|
var UploadDropZone = require('./components/DropZone/UploadDropZone.js');
|
|
27
23
|
var UploadDropZoneContext = require('./components/DropZone/UploadDropZoneContext.js');
|
|
28
|
-
var EmptyState = require('./components/EmptyState.js');
|
|
29
24
|
var FilterBadges = require('./components/FilterBadges.js');
|
|
30
25
|
var FilterMenu = require('./components/FilterMenu.js');
|
|
31
26
|
var FolderFormDialog = require('./components/FolderFormDialog.js');
|
|
32
27
|
var FolderTree = require('./components/FolderTree/FolderTree.js');
|
|
33
28
|
var ImportFromUrlDialog = require('./components/ImportFromUrlDialog.js');
|
|
34
|
-
var ItemContextMenu = require('./components/ItemContextMenu.js');
|
|
35
29
|
var MainAreaContextMenu = require('./components/MainAreaContextMenu.js');
|
|
36
30
|
var SortMenu = require('./components/SortMenu.js');
|
|
31
|
+
var ViewToggle = require('./components/ViewToggle.js');
|
|
37
32
|
var constants = require('./constants.js');
|
|
38
|
-
var useAssetSearch = require('./hooks/useAssetSearch.js');
|
|
39
33
|
var useAssetSelection = require('./hooks/useAssetSelection.js');
|
|
34
|
+
var useAssetsList = require('./hooks/useAssetsList.js');
|
|
40
35
|
var useBusyAssets = require('./hooks/useBusyAssets.js');
|
|
41
36
|
var useFolderInfo = require('./hooks/useFolderInfo.js');
|
|
42
|
-
var useFolderNavigation = require('./hooks/useFolderNavigation.js');
|
|
43
|
-
var useInfiniteAssets = require('./hooks/useInfiniteAssets.js');
|
|
44
|
-
var useInfiniteScrollSentinel = require('./hooks/useInfiniteScrollSentinel.js');
|
|
45
|
-
var useListFilters = require('./hooks/useListFilters.js');
|
|
46
37
|
var useListScrollRestoration = require('./hooks/useListScrollRestoration.js');
|
|
47
|
-
var useListSort = require('./hooks/useListSort.js');
|
|
48
|
-
var buildAssetFilters = require('./utils/buildAssetFilters.js');
|
|
49
38
|
var listQueryKey = require('./utils/listQueryKey.js');
|
|
50
|
-
var mergeMixedList = require('./utils/mergeMixedList.js');
|
|
51
|
-
var renderedKeys = require('./utils/renderedKeys.js');
|
|
52
39
|
|
|
53
|
-
function _interopNamespace(e) {
|
|
54
|
-
if (e && e.__esModule) return e;
|
|
55
|
-
var n = Object.create(null);
|
|
56
|
-
if (e) {
|
|
57
|
-
Object.keys(e).forEach(function (k) {
|
|
58
|
-
if (k !== 'default') {
|
|
59
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
60
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function () { return e[k]; }
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
n.default = e;
|
|
68
|
-
return Object.freeze(n);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
var ToggleGroup__namespace = /*#__PURE__*/_interopNamespace(ToggleGroup);
|
|
72
|
-
|
|
73
|
-
// The negative bottom margin shrinks the trigger area by a pixel so the 1px
|
|
74
|
-
// sentinel sitting exactly at the fold (when a page's rows happen to fill the
|
|
75
|
-
// viewport) reads as "not visible" and doesn't pull an extra page. It still
|
|
76
|
-
// triggers as soon as the sentinel scrolls a hair into view. Tune the bottom
|
|
77
|
-
// value if the list over- or under-fetches near the fold.
|
|
78
|
-
const INTERSECTION_OPTIONS = {
|
|
79
|
-
threshold: 0,
|
|
80
|
-
rootMargin: '0px 0px -1px 0px'
|
|
81
|
-
};
|
|
82
40
|
// Module-level so the header sentinel's observer isn't rebuilt every render.
|
|
83
41
|
const HEADER_SENTINEL_OPTIONS = {
|
|
84
42
|
threshold: 0
|
|
@@ -110,116 +68,6 @@ const getSearchResultsCountMessage = (numberFolders, numberAssets)=>{
|
|
|
110
68
|
}
|
|
111
69
|
return SEARCH_RESULTS_COUNT_MESSAGES.both;
|
|
112
70
|
};
|
|
113
|
-
const AssetsView = ({ view, folders, isLoadingFolders, assets, isLoadingAssets, isFetchingMore, hasNextPage, fetchNextPage, error, locations, searchQuery, assetsSort, foldersPosition, hasActiveFilters, onClearFilters, onAssetItemClick, onAddAssets, canAddAssets, onClearSearch })=>{
|
|
114
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
115
|
-
const isGridView = view === constants.viewOptions.GRID;
|
|
116
|
-
const isLoading = isLoadingAssets || isLoadingFolders;
|
|
117
|
-
// "Folders: Mixed with files" — interleave the complete folder list into the
|
|
118
|
-
// loaded asset stream client-side, following the active sort. Table view
|
|
119
|
-
// only: the grid always keeps folders in their own band on top.
|
|
120
|
-
const mixedItems = React.useMemo(()=>foldersPosition === 'mixed' && !isGridView ? mergeMixedList.mergeMixedList({
|
|
121
|
-
folders,
|
|
122
|
-
assets,
|
|
123
|
-
sort: assetsSort,
|
|
124
|
-
hasNextPage
|
|
125
|
-
}) : null, [
|
|
126
|
-
foldersPosition,
|
|
127
|
-
isGridView,
|
|
128
|
-
folders,
|
|
129
|
-
assets,
|
|
130
|
-
assetsSort,
|
|
131
|
-
hasNextPage
|
|
132
|
-
]);
|
|
133
|
-
// Derived once here so the table, the grid and the bulk bar all agree on what
|
|
134
|
-
// is on screen — in mixed mode that is not simply every folder.
|
|
135
|
-
const renderedKeys$1 = renderedKeys.buildRenderedKeys({
|
|
136
|
-
folders,
|
|
137
|
-
assets,
|
|
138
|
-
mixedItems
|
|
139
|
-
});
|
|
140
|
-
const loadMoreRef = useInfiniteScrollSentinel.useInfiniteScrollSentinel({
|
|
141
|
-
hasNextPage,
|
|
142
|
-
isFetchingMore,
|
|
143
|
-
onLoadMore: fetchNextPage,
|
|
144
|
-
options: INTERSECTION_OPTIONS
|
|
145
|
-
});
|
|
146
|
-
if (isLoading) {
|
|
147
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
148
|
-
justifyContent: "center",
|
|
149
|
-
padding: 8,
|
|
150
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Loader, {
|
|
151
|
-
children: formatMessage({
|
|
152
|
-
id: 'app.loading',
|
|
153
|
-
defaultMessage: 'Loading...'
|
|
154
|
-
})
|
|
155
|
-
})
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
if (error) {
|
|
159
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
160
|
-
padding: 8,
|
|
161
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
162
|
-
textColor: "danger600",
|
|
163
|
-
children: formatMessage({
|
|
164
|
-
id: translations.getTranslationKey('list.assets.error'),
|
|
165
|
-
defaultMessage: 'An error occurred while fetching assets.'
|
|
166
|
-
})
|
|
167
|
-
})
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
if (folders.length === 0 && assets.length === 0) {
|
|
171
|
-
// While searching, the search empty state wins (it names the query); a
|
|
172
|
-
// filter-only dead end gets the filtered variant with its Clear action.
|
|
173
|
-
return hasActiveFilters && !searchQuery ? /*#__PURE__*/ jsxRuntime.jsx(EmptyState.FilteredEmptyState, {
|
|
174
|
-
onClearFilters: onClearFilters
|
|
175
|
-
}) : /*#__PURE__*/ jsxRuntime.jsx(EmptyState.EmptyState, {
|
|
176
|
-
onAddAssets: onAddAssets,
|
|
177
|
-
canAddAssets: canAddAssets,
|
|
178
|
-
searchQuery: searchQuery,
|
|
179
|
-
onClearSearch: onClearSearch
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
183
|
-
children: [
|
|
184
|
-
/*#__PURE__*/ jsxRuntime.jsx(ItemContextMenu.ItemContextMenuProvider, {
|
|
185
|
-
locations: locations,
|
|
186
|
-
children: isGridView ? /*#__PURE__*/ jsxRuntime.jsx(AssetsGrid.AssetsGrid, {
|
|
187
|
-
folders: folders,
|
|
188
|
-
assets: assets,
|
|
189
|
-
renderedKeys: renderedKeys$1,
|
|
190
|
-
onAssetItemClick: onAssetItemClick
|
|
191
|
-
}) : /*#__PURE__*/ jsxRuntime.jsx(AssetsTable.AssetsTable, {
|
|
192
|
-
assets: assets,
|
|
193
|
-
folders: folders,
|
|
194
|
-
mixedItems: mixedItems,
|
|
195
|
-
renderedKeys: renderedKeys$1,
|
|
196
|
-
onAssetItemClick: onAssetItemClick
|
|
197
|
-
})
|
|
198
|
-
}),
|
|
199
|
-
/*#__PURE__*/ jsxRuntime.jsx("div", {
|
|
200
|
-
ref: loadMoreRef,
|
|
201
|
-
style: {
|
|
202
|
-
height: 1
|
|
203
|
-
}
|
|
204
|
-
}),
|
|
205
|
-
isFetchingMore && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
206
|
-
justifyContent: "center",
|
|
207
|
-
padding: 4,
|
|
208
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Loader, {
|
|
209
|
-
children: formatMessage({
|
|
210
|
-
id: translations.getTranslationKey('list.assets.loading-more'),
|
|
211
|
-
defaultMessage: 'Loading more assets...'
|
|
212
|
-
})
|
|
213
|
-
})
|
|
214
|
-
}),
|
|
215
|
-
/*#__PURE__*/ jsxRuntime.jsx(BulkActionsBar.BulkActionsBar, {
|
|
216
|
-
assets: assets,
|
|
217
|
-
renderedKeys: renderedKeys$1,
|
|
218
|
-
locations: locations
|
|
219
|
-
})
|
|
220
|
-
]
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
71
|
const ClearSelectionOnChange = ({ listQueryKey })=>{
|
|
224
72
|
const { clear } = useAssetSelection.useAssetSelection();
|
|
225
73
|
React.useEffect(()=>{
|
|
@@ -232,50 +80,7 @@ const ClearSelectionOnChange = ({ listQueryKey })=>{
|
|
|
232
80
|
};
|
|
233
81
|
/* -------------------------------------------------------------------------------------------------
|
|
234
82
|
* AssetsPage
|
|
235
|
-
* -----------------------------------------------------------------------------------------------*/
|
|
236
|
-
* Mirrors the design-system Toggle look (grey track, white active segment
|
|
237
|
-
* card) — reproduced locally because the DS component is a labels-only
|
|
238
|
-
* boolean input (no icons) and paints its left segment in danger red. Here
|
|
239
|
-
* both segments use the primary blue when active.
|
|
240
|
-
*/ const StyledToggleGroup = styledComponents.styled(ToggleGroup__namespace.Root)`
|
|
241
|
-
display: flex;
|
|
242
|
-
padding: ${({ theme })=>theme.spaces[1]};
|
|
243
|
-
background: ${({ theme })=>theme.colors.neutral100};
|
|
244
|
-
border: 1px solid ${({ theme })=>theme.colors.neutral200};
|
|
245
|
-
border-radius: ${({ theme })=>theme.borderRadius};
|
|
246
|
-
`;
|
|
247
|
-
const StyledToggleItem = styledComponents.styled(ToggleGroup__namespace.Item)`
|
|
248
|
-
display: flex;
|
|
249
|
-
flex: 1 1 50%;
|
|
250
|
-
align-items: center;
|
|
251
|
-
justify-content: center;
|
|
252
|
-
gap: ${({ theme })=>theme.spaces[2]};
|
|
253
|
-
padding: 0.6rem ${({ theme })=>theme.spaces[3]};
|
|
254
|
-
border: 1px solid transparent;
|
|
255
|
-
border-radius: ${({ theme })=>theme.borderRadius};
|
|
256
|
-
background: transparent;
|
|
257
|
-
color: ${({ theme })=>theme.colors.neutral600};
|
|
258
|
-
cursor: pointer;
|
|
259
|
-
font-size: ${({ theme })=>theme.fontSizes[1]};
|
|
260
|
-
font-weight: ${({ theme })=>theme.fontWeights.semiBold};
|
|
261
|
-
white-space: nowrap;
|
|
262
|
-
|
|
263
|
-
&:hover {
|
|
264
|
-
color: ${({ theme })=>theme.colors.neutral700};
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
&[data-state='on'] {
|
|
268
|
-
background: ${({ theme })=>theme.colors.neutral0};
|
|
269
|
-
border-color: ${({ theme })=>theme.colors.neutral200};
|
|
270
|
-
color: ${({ theme })=>theme.colors.primary600};
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
svg {
|
|
274
|
-
width: 1.6rem;
|
|
275
|
-
height: 1.6rem;
|
|
276
|
-
}
|
|
277
|
-
`;
|
|
278
|
-
// A single sticky header — same layout scrolled or not, so the toolbar
|
|
83
|
+
* -----------------------------------------------------------------------------------------------*/ // A single sticky header — same layout scrolled or not, so the toolbar
|
|
279
84
|
// alignment can't reflow the way the shared sticky header did. Once the list
|
|
280
85
|
// scrolls under it, it shrinks (reduced vertical padding + a shadow to lift it
|
|
281
86
|
// off the rows), like the sticky headers elsewhere in the admin. Horizontal
|
|
@@ -385,73 +190,18 @@ const SearchSlot = styledComponents.styled(designSystem.Box)`
|
|
|
385
190
|
flex: 0 1 auto;
|
|
386
191
|
}
|
|
387
192
|
`;
|
|
388
|
-
// Toggle labels are hidden below desktop — icons only (buttons keep aria-label).
|
|
389
|
-
const ToggleLabel = styledComponents.styled.span`
|
|
390
|
-
display: none;
|
|
391
|
-
|
|
392
|
-
${({ theme })=>theme.breakpoints.large} {
|
|
393
|
-
display: inline;
|
|
394
|
-
}
|
|
395
|
-
`;
|
|
396
193
|
const AssetsPage = ()=>{
|
|
397
194
|
const { formatMessage } = reactIntl.useIntl();
|
|
398
195
|
const { openDetails } = AssetDetailsDrawer.useAssetDetailsParam();
|
|
399
196
|
const { canCreate, canUpdate } = useMediaLibraryPermissions.useMediaLibraryPermissions();
|
|
400
|
-
const { currentFolderId, navigateToFolderId,
|
|
401
|
-
// Deleted or missing folders (404) need a fetch — handled here, not in
|
|
402
|
-
// `useFolderNavigation` (which only strips malformed ?folder= values).
|
|
403
|
-
const { error: currentFolderError } = folders.useGetFolderQuery({
|
|
404
|
-
id: currentFolderId
|
|
405
|
-
}, {
|
|
406
|
-
skip: currentFolderId === null
|
|
407
|
-
});
|
|
408
|
-
React.useEffect(()=>{
|
|
409
|
-
if (currentFolderError?.name === 'NotFoundError') {
|
|
410
|
-
navigateToRoot();
|
|
411
|
-
}
|
|
412
|
-
}, [
|
|
413
|
-
currentFolderError,
|
|
414
|
-
navigateToRoot
|
|
415
|
-
]);
|
|
197
|
+
const { currentFolderId, navigateToFolderId, searchQuery, isSearching, clearSearch, listSort, listFilters, assets, subscribers: assetPageSubscribers, pagination, isLoadingAssets, isFetchingMore, hasNextPage, fetchNextPage, assetsError, folders, isLoadingFolders } = useAssetsList.useAssetsList();
|
|
416
198
|
const { title, itemCount } = useFolderInfo.useFolderInfo(currentFolderId);
|
|
417
|
-
const { searchQuery, isSearching, clearSearch } = useAssetSearch.useAssetSearch();
|
|
418
|
-
const listSort = useListSort.useListSort();
|
|
419
|
-
const listFilters = useListFilters.useListFilters();
|
|
420
|
-
// Resolve relative presets against "now" only when the filters change —
|
|
421
|
-
// keeps the query args (and RTK cache keys) stable between renders.
|
|
422
|
-
const builtFilters = React.useMemo(()=>buildAssetFilters.buildAssetFilters(listFilters.filters, new Date()), // eslint-disable-next-line react-hooks/exhaustive-deps -- serialized is the value identity of filters
|
|
423
|
-
[
|
|
424
|
-
listFilters.serialized
|
|
425
|
-
]);
|
|
426
|
-
const { assets, subscribers: assetPageSubscribers, pagination, isLoading: isLoadingAssets, isFetchingMore, hasNextPage, fetchNextPage, error: assetsError } = useInfiniteAssets.useInfiniteAssets({
|
|
427
|
-
// The real folder is passed even while searching: the service drops the folder
|
|
428
|
-
// filter when `search` is set, so results are still global. List filters
|
|
429
|
-
// compose with both modes.
|
|
430
|
-
folder: currentFolderId,
|
|
431
|
-
search: searchQuery || undefined,
|
|
432
|
-
sort: listSort.assetsSort,
|
|
433
|
-
filters: builtFilters.fileClauses,
|
|
434
|
-
enabled: builtFilters.showFiles
|
|
435
|
-
});
|
|
436
|
-
const { data: fetchedFolders = [], isLoading: isLoadingFolders } = folders.useGetFoldersQuery({
|
|
437
|
-
parentId: currentFolderId,
|
|
438
|
-
search: searchQuery || undefined,
|
|
439
|
-
sort: listSort.foldersSort,
|
|
440
|
-
filters: builtFilters.folderClauses
|
|
441
|
-
}, {
|
|
442
|
-
skip: !builtFilters.showFolders
|
|
443
|
-
});
|
|
444
|
-
// A type badge can exclude folders structurally (e.g. "Type is Picture").
|
|
445
|
-
const folders$1 = React.useMemo(()=>builtFilters.showFolders ? fetchedFolders : [], [
|
|
446
|
-
builtFilters.showFolders,
|
|
447
|
-
fetchedFolders
|
|
448
|
-
]);
|
|
449
199
|
// Both move affordances (drag and the bulk bar) resolve each item's parent
|
|
450
200
|
// from the rows on screen — while searching, results are global and the
|
|
451
201
|
// folder currently open says nothing about where an item lives.
|
|
452
|
-
const itemLocations$1 = React.useMemo(()=>itemLocations.buildItemLocations(assets, folders
|
|
202
|
+
const itemLocations$1 = React.useMemo(()=>itemLocations.buildItemLocations(assets, folders), [
|
|
453
203
|
assets,
|
|
454
|
-
folders
|
|
204
|
+
folders
|
|
455
205
|
]);
|
|
456
206
|
const itemCountLabel = formatMessage(ITEM_COUNT_MESSAGE, {
|
|
457
207
|
count: itemCount
|
|
@@ -462,7 +212,7 @@ const AssetsPage = ()=>{
|
|
|
462
212
|
}, {
|
|
463
213
|
query: searchQuery
|
|
464
214
|
});
|
|
465
|
-
const numberFolders = folders
|
|
215
|
+
const numberFolders = folders.length;
|
|
466
216
|
const numberAssets = pagination?.total ?? 0;
|
|
467
217
|
const searchResultsCountLabel = formatMessage(getSearchResultsCountMessage(numberFolders, numberAssets), {
|
|
468
218
|
numberFolders,
|
|
@@ -723,48 +473,9 @@ const AssetsPage = ()=>{
|
|
|
723
473
|
showFoldersGroup: !isGridView
|
|
724
474
|
})
|
|
725
475
|
}),
|
|
726
|
-
/*#__PURE__*/ jsxRuntime.
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
onValueChange: (value)=>value && setView(value === 'grid' ? constants.viewOptions.GRID : constants.viewOptions.TABLE),
|
|
730
|
-
"aria-label": formatMessage({
|
|
731
|
-
id: translations.getTranslationKey('view.switch.label'),
|
|
732
|
-
defaultMessage: 'View options'
|
|
733
|
-
}),
|
|
734
|
-
children: [
|
|
735
|
-
/*#__PURE__*/ jsxRuntime.jsxs(StyledToggleItem, {
|
|
736
|
-
value: "table",
|
|
737
|
-
"aria-label": formatMessage({
|
|
738
|
-
id: translations.getTranslationKey('view.table'),
|
|
739
|
-
defaultMessage: 'Table view'
|
|
740
|
-
}),
|
|
741
|
-
children: [
|
|
742
|
-
/*#__PURE__*/ jsxRuntime.jsx(icons.List, {}),
|
|
743
|
-
/*#__PURE__*/ jsxRuntime.jsx(ToggleLabel, {
|
|
744
|
-
children: formatMessage({
|
|
745
|
-
id: translations.getTranslationKey('view.table'),
|
|
746
|
-
defaultMessage: 'Table view'
|
|
747
|
-
})
|
|
748
|
-
})
|
|
749
|
-
]
|
|
750
|
-
}),
|
|
751
|
-
/*#__PURE__*/ jsxRuntime.jsxs(StyledToggleItem, {
|
|
752
|
-
value: "grid",
|
|
753
|
-
"aria-label": formatMessage({
|
|
754
|
-
id: translations.getTranslationKey('view.grid'),
|
|
755
|
-
defaultMessage: 'Grid view'
|
|
756
|
-
}),
|
|
757
|
-
children: [
|
|
758
|
-
/*#__PURE__*/ jsxRuntime.jsx(icons.GridFour, {}),
|
|
759
|
-
/*#__PURE__*/ jsxRuntime.jsx(ToggleLabel, {
|
|
760
|
-
children: formatMessage({
|
|
761
|
-
id: translations.getTranslationKey('view.grid'),
|
|
762
|
-
defaultMessage: 'Grid view'
|
|
763
|
-
})
|
|
764
|
-
})
|
|
765
|
-
]
|
|
766
|
-
})
|
|
767
|
-
]
|
|
476
|
+
/*#__PURE__*/ jsxRuntime.jsx(ViewToggle.ViewToggle, {
|
|
477
|
+
view: view,
|
|
478
|
+
onChange: setView
|
|
768
479
|
})
|
|
769
480
|
]
|
|
770
481
|
})
|
|
@@ -785,9 +496,9 @@ const AssetsPage = ()=>{
|
|
|
785
496
|
uploadDropZoneRef: uploadDropZoneRef,
|
|
786
497
|
folderName: title
|
|
787
498
|
}),
|
|
788
|
-
/*#__PURE__*/ jsxRuntime.jsx(AssetsView, {
|
|
499
|
+
/*#__PURE__*/ jsxRuntime.jsx(AssetsView.AssetsView, {
|
|
789
500
|
view: view,
|
|
790
|
-
folders: folders
|
|
501
|
+
folders: folders,
|
|
791
502
|
isLoadingFolders: isLoadingFolders,
|
|
792
503
|
assets: assets,
|
|
793
504
|
isLoadingAssets: isLoadingAssets,
|