@strapi/upload 5.51.1 → 5.51.2
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/VideoPreview.js +1 -1
- package/dist/admin/components/AssetCard/VideoPreview.js.map +1 -1
- package/dist/admin/components/AssetCard/VideoPreview.mjs +1 -1
- package/dist/admin/components/AssetCard/VideoPreview.mjs.map +1 -1
- package/dist/admin/components/TableList/TableList.js +1 -1
- package/dist/admin/components/TableList/TableList.js.map +1 -1
- package/dist/admin/components/TableList/TableList.mjs +1 -1
- package/dist/admin/components/TableList/TableList.mjs.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js +21 -4
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.js.map +1 -1
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs +21 -4
- package/dist/admin/components/UploadAssetDialog/AddAssetStep/FromUrlForm.mjs.map +1 -1
- package/dist/admin/future/components/Drawer.js +3 -1
- package/dist/admin/future/components/Drawer.js.map +1 -1
- package/dist/admin/future/components/Drawer.mjs +3 -1
- package/dist/admin/future/components/Drawer.mjs.map +1 -1
- package/dist/admin/future/components/UploadProgressDialog.js +200 -27
- package/dist/admin/future/components/UploadProgressDialog.js.map +1 -1
- package/dist/admin/future/components/UploadProgressDialog.mjs +203 -30
- package/dist/admin/future/components/UploadProgressDialog.mjs.map +1 -1
- package/dist/admin/future/hooks/useMediaLibraryPermissions.js +35 -0
- package/dist/admin/future/hooks/useMediaLibraryPermissions.js.map +1 -0
- package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs +33 -0
- package/dist/admin/future/hooks/useMediaLibraryPermissions.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/AssetsPage.js +203 -78
- package/dist/admin/future/pages/Assets/AssetsPage.js.map +1 -1
- package/dist/admin/future/pages/Assets/AssetsPage.mjs +200 -75
- package/dist/admin/future/pages/Assets/AssetsPage.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js +75 -32
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs +75 -32
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetCropEditor.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js +46 -19
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs +47 -20
- package/dist/admin/future/pages/Assets/components/AssetDetails/AssetDetailsDrawer.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js +5 -2
- package/dist/admin/future/pages/Assets/components/AssetsGrid.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs +5 -2
- package/dist/admin/future/pages/Assets/components/AssetsGrid.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js +100 -0
- package/dist/admin/future/pages/Assets/components/AssetsSearchInput.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs +98 -0
- package/dist/admin/future/pages/Assets/components/AssetsSearchInput.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/AssetsTable.js +10 -4
- package/dist/admin/future/pages/Assets/components/AssetsTable.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs +10 -4
- package/dist/admin/future/pages/Assets/components/AssetsTable.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/BulkActionsBar.js +140 -22
- package/dist/admin/future/pages/Assets/components/BulkActionsBar.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs +142 -24
- package/dist/admin/future/pages/Assets/components/BulkActionsBar.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js +193 -0
- package/dist/admin/future/pages/Assets/components/DateRangeCalendar.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs +191 -0
- package/dist/admin/future/pages/Assets/components/DateRangeCalendar.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js +18 -1
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs +18 -1
- package/dist/admin/future/pages/Assets/components/Dnd/AssetsDndProvider.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js +13 -3
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs +13 -3
- package/dist/admin/future/pages/Assets/components/DropZone/UploadDropZoneContext.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/EmptyState.js +62 -3
- package/dist/admin/future/pages/Assets/components/EmptyState.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/EmptyState.mjs +62 -4
- package/dist/admin/future/pages/Assets/components/EmptyState.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/FilterBadges.js +408 -0
- package/dist/admin/future/pages/Assets/components/FilterBadges.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/FilterBadges.mjs +406 -0
- package/dist/admin/future/pages/Assets/components/FilterBadges.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/FilterMenu.js +273 -0
- package/dist/admin/future/pages/Assets/components/FilterMenu.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/FilterMenu.mjs +267 -0
- package/dist/admin/future/pages/Assets/components/FilterMenu.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js +76 -19
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs +78 -21
- package/dist/admin/future/pages/Assets/components/FolderTree/FolderTree.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/components/FolderTree/filterFolderTree.js +33 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/filterFolderTree.js.map +1 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/filterFolderTree.mjs +31 -0
- package/dist/admin/future/pages/Assets/components/FolderTree/filterFolderTree.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/components/SortMenu.js +21 -32
- package/dist/admin/future/pages/Assets/components/SortMenu.js.map +1 -1
- package/dist/admin/future/pages/Assets/components/SortMenu.mjs +22 -33
- package/dist/admin/future/pages/Assets/components/SortMenu.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js +40 -0
- package/dist/admin/future/pages/Assets/hooks/useAssetSearch.js.map +1 -0
- package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs +38 -0
- package/dist/admin/future/pages/Assets/hooks/useAssetSearch.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js +21 -5
- package/dist/admin/future/pages/Assets/hooks/useAssetSelection.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs +21 -5
- package/dist/admin/future/pages/Assets/hooks/useAssetSelection.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js +33 -12
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs +33 -12
- package/dist/admin/future/pages/Assets/hooks/useFolderNavigation.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js +40 -4
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.js.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs +40 -4
- package/dist/admin/future/pages/Assets/hooks/useInfiniteAssets.mjs.map +1 -1
- package/dist/admin/future/pages/Assets/hooks/useListFilters.js +168 -0
- package/dist/admin/future/pages/Assets/hooks/useListFilters.js.map +1 -0
- package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs +162 -0
- package/dist/admin/future/pages/Assets/hooks/useListFilters.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js +201 -0
- package/dist/admin/future/pages/Assets/utils/buildAssetFilters.js.map +1 -0
- package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs +198 -0
- package/dist/admin/future/pages/Assets/utils/buildAssetFilters.mjs.map +1 -0
- package/dist/admin/future/pages/Assets/utils/listQueryKey.js +2 -2
- package/dist/admin/future/pages/Assets/utils/listQueryKey.js.map +1 -1
- package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs +2 -2
- package/dist/admin/future/pages/Assets/utils/listQueryKey.mjs.map +1 -1
- package/dist/admin/future/services/api.js +163 -28
- package/dist/admin/future/services/api.js.map +1 -1
- package/dist/admin/future/services/api.mjs +163 -30
- package/dist/admin/future/services/api.mjs.map +1 -1
- package/dist/admin/future/services/assets.js +29 -17
- package/dist/admin/future/services/assets.js.map +1 -1
- package/dist/admin/future/services/assets.mjs +29 -17
- package/dist/admin/future/services/assets.mjs.map +1 -1
- package/dist/admin/future/services/folders.js +29 -17
- package/dist/admin/future/services/folders.js.map +1 -1
- package/dist/admin/future/services/folders.mjs +29 -17
- package/dist/admin/future/services/folders.mjs.map +1 -1
- package/dist/admin/future/services/settings.js +10 -3
- package/dist/admin/future/services/settings.js.map +1 -1
- package/dist/admin/future/services/settings.mjs +10 -3
- package/dist/admin/future/services/settings.mjs.map +1 -1
- package/dist/admin/future/store/uploadProgress.js +109 -2
- package/dist/admin/future/store/uploadProgress.js.map +1 -1
- package/dist/admin/future/store/uploadProgress.mjs +105 -3
- package/dist/admin/future/store/uploadProgress.mjs.map +1 -1
- package/dist/admin/future/utils/searchQueryParam.js +11 -0
- package/dist/admin/future/utils/searchQueryParam.js.map +1 -0
- package/dist/admin/future/utils/searchQueryParam.mjs +9 -0
- package/dist/admin/future/utils/searchQueryParam.mjs.map +1 -0
- package/dist/admin/hooks/useSelectionState.js +2 -4
- package/dist/admin/hooks/useSelectionState.js.map +1 -1
- package/dist/admin/hooks/useSelectionState.mjs +2 -4
- package/dist/admin/hooks/useSelectionState.mjs.map +1 -1
- package/dist/admin/shared/constants.js +43 -0
- package/dist/admin/shared/constants.js.map +1 -0
- package/dist/admin/shared/constants.mjs +38 -0
- package/dist/admin/shared/constants.mjs.map +1 -0
- package/dist/admin/src/future/hooks/useMediaLibraryPermissions.d.ts +21 -0
- package/dist/admin/src/future/pages/Assets/components/AssetDetails/AssetCropEditor.d.ts +7 -1
- package/dist/admin/src/future/pages/Assets/components/AssetsSearchInput.d.ts +5 -0
- package/dist/admin/src/future/pages/Assets/components/BulkActionsBar.d.ts +14 -1
- package/dist/admin/src/future/pages/Assets/components/DateRangeCalendar.d.ts +8 -0
- package/dist/admin/src/future/pages/Assets/components/DropZone/UploadDropZoneContext.d.ts +8 -1
- package/dist/admin/src/future/pages/Assets/components/EmptyState.d.ts +18 -1
- package/dist/admin/src/future/pages/Assets/components/FilterBadges.d.ts +6 -0
- package/dist/admin/src/future/pages/Assets/components/FilterMenu.d.ts +22 -0
- package/dist/admin/src/future/pages/Assets/components/FolderTree/FolderTree.d.ts +13 -4
- package/dist/admin/src/future/pages/Assets/components/FolderTree/filterFolderTree.d.ts +16 -0
- package/dist/admin/src/future/pages/Assets/components/SortMenu.d.ts +6 -0
- package/dist/admin/src/future/pages/Assets/hooks/useAssetSearch.d.ts +12 -0
- package/dist/admin/src/future/pages/Assets/hooks/useAssetSelection.d.ts +8 -1
- package/dist/admin/src/future/pages/Assets/hooks/useInfiniteAssets.d.ts +13 -3
- package/dist/admin/src/future/pages/Assets/hooks/useListFilters.d.ts +69 -0
- package/dist/admin/src/future/pages/Assets/utils/buildAssetFilters.d.ts +46 -0
- package/dist/admin/src/future/pages/Assets/utils/listQueryKey.d.ts +3 -4
- package/dist/admin/src/future/services/api.d.ts +53 -5
- package/dist/admin/src/future/services/assets.d.ts +9 -1
- package/dist/admin/src/future/services/folders.d.ts +3 -0
- package/dist/admin/src/future/services/settings.d.ts +2 -2
- package/dist/admin/src/future/store/uploadProgress.d.ts +83 -1
- package/dist/admin/src/future/utils/searchQueryParam.d.ts +7 -0
- package/dist/admin/src/hooks/useAiAvailability.d.ts +1 -1
- package/dist/admin/src/hooks/useEditAsset.d.ts +4 -4
- package/dist/admin/src/hooks/useEditFolder.d.ts +4 -4
- package/dist/admin/src/hooks/useSettings.d.ts +1 -0
- package/dist/admin/src/hooks/useTracking.d.ts +1 -1
- package/dist/admin/src/hooks/useUpload.d.ts +1 -1
- package/dist/admin/translations/en.json.js +53 -3
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +53 -3
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/urlYupSchema.js +33 -9
- package/dist/admin/utils/urlYupSchema.js.map +1 -1
- package/dist/admin/utils/urlYupSchema.mjs +33 -9
- package/dist/admin/utils/urlYupSchema.mjs.map +1 -1
- package/dist/server/config.js +13 -5
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +13 -5
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/constants.js.map +1 -1
- package/dist/server/constants.mjs.map +1 -1
- package/dist/server/controllers/admin-file.js +30 -0
- package/dist/server/controllers/admin-file.js.map +1 -1
- package/dist/server/controllers/admin-file.mjs +30 -0
- package/dist/server/controllers/admin-file.mjs.map +1 -1
- package/dist/server/controllers/admin-settings.js +20 -2
- package/dist/server/controllers/admin-settings.js.map +1 -1
- package/dist/server/controllers/admin-settings.mjs +21 -3
- package/dist/server/controllers/admin-settings.mjs.map +1 -1
- package/dist/server/controllers/content-api.js +1 -2
- package/dist/server/controllers/content-api.js.map +1 -1
- package/dist/server/controllers/content-api.mjs +2 -2
- package/dist/server/controllers/content-api.mjs.map +1 -1
- package/dist/server/controllers/validation/admin/ai-metadata.js +12 -0
- package/dist/server/controllers/validation/admin/ai-metadata.js.map +1 -0
- package/dist/server/controllers/validation/admin/ai-metadata.mjs +10 -0
- package/dist/server/controllers/validation/admin/ai-metadata.mjs.map +1 -0
- package/dist/server/controllers/validation/admin/settings.js +4 -1
- package/dist/server/controllers/validation/admin/settings.js.map +1 -1
- package/dist/server/controllers/validation/admin/settings.mjs +1 -1
- package/dist/server/controllers/validation/admin/settings.mjs.map +1 -1
- package/dist/server/routes/admin.js +18 -0
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs +18 -0
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/services/ai-metadata.js +108 -11
- package/dist/server/services/ai-metadata.js.map +1 -1
- package/dist/server/services/ai-metadata.mjs +108 -11
- package/dist/server/services/ai-metadata.mjs.map +1 -1
- package/dist/server/services/file.js +86 -13
- package/dist/server/services/file.js.map +1 -1
- package/dist/server/services/file.mjs +87 -14
- package/dist/server/services/file.mjs.map +1 -1
- package/dist/server/services/image-manipulation.js +4 -4
- package/dist/server/services/image-manipulation.js.map +1 -1
- package/dist/server/services/image-manipulation.mjs +4 -4
- package/dist/server/services/image-manipulation.mjs.map +1 -1
- package/dist/server/shared/constants.js +43 -0
- package/dist/server/shared/constants.js.map +1 -0
- package/dist/server/shared/constants.mjs +38 -0
- package/dist/server/shared/constants.mjs.map +1 -0
- package/dist/server/src/config.d.ts +2 -0
- package/dist/server/src/config.d.ts.map +1 -1
- package/dist/server/src/constants.d.ts +2 -1
- package/dist/server/src/constants.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-file.d.ts +10 -0
- package/dist/server/src/controllers/admin-file.d.ts.map +1 -1
- package/dist/server/src/controllers/admin-settings.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts +1 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/admin/ai-metadata.d.ts +2 -0
- package/dist/server/src/controllers/validation/admin/ai-metadata.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/admin/settings.d.ts +1 -1
- package/dist/server/src/controllers/validation/admin/settings.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +7 -1
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/ai-metadata.d.ts +19 -0
- package/dist/server/src/services/ai-metadata.d.ts.map +1 -1
- package/dist/server/src/services/file.d.ts +12 -2
- package/dist/server/src/services/file.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -1
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/types.d.ts +3 -0
- package/dist/server/src/types.d.ts.map +1 -1
- package/dist/shared/constants.d.ts +35 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/contracts/files.d.ts +25 -0
- package/dist/shared/contracts/files.d.ts.map +1 -1
- package/dist/shared/contracts/settings.d.ts +7 -0
- package/package.json +7 -7
|
@@ -4,6 +4,14 @@ export interface FileUploadError {
|
|
|
4
4
|
message: string;
|
|
5
5
|
}
|
|
6
6
|
export type FileProgressStatus = 'pending' | 'uploading' | 'complete' | 'error' | 'cancelled';
|
|
7
|
+
/**
|
|
8
|
+
* AI metadata generation phase for a single row, tracked independently from the
|
|
9
|
+
* upload status: a metadata failure never turns a successful upload into an error.
|
|
10
|
+
* `undefined` means the row has no metadata phase at all, i.e. AI metadata is
|
|
11
|
+
* disabled — non-images do get a phase and come back `skipped` from the server.
|
|
12
|
+
*/
|
|
13
|
+
export type FileMetadataStatus = 'generating' | 'generated' | 'skipped' | 'failed';
|
|
14
|
+
export type FileMetadataResultStatus = Exclude<FileMetadataStatus, 'generating'>;
|
|
7
15
|
export interface FileProgress {
|
|
8
16
|
name: string;
|
|
9
17
|
index: number;
|
|
@@ -12,6 +20,7 @@ export interface FileProgress {
|
|
|
12
20
|
uploadedBytes: number;
|
|
13
21
|
file?: File;
|
|
14
22
|
error?: string;
|
|
23
|
+
metadataStatus?: FileMetadataStatus;
|
|
15
24
|
}
|
|
16
25
|
export interface UploadProgressState {
|
|
17
26
|
isVisible: boolean;
|
|
@@ -35,6 +44,72 @@ export declare const selectAggregateProgress: ((state: RootState) => number) & i
|
|
|
35
44
|
}> & {
|
|
36
45
|
clearCache: () => void;
|
|
37
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* Count-based metadata progress across the whole batch: `settled / expected`.
|
|
49
|
+
*
|
|
50
|
+
* Count-based rather than byte-weighted because the generation endpoint answers in one
|
|
51
|
+
* go — there is no intermediate progress to weight.
|
|
52
|
+
*
|
|
53
|
+
* The denominator is every row *expected* to enter the phase, not just those that
|
|
54
|
+
* already have. Generation is fired per file as each upload finishes, so counting only
|
|
55
|
+
* started rows made the denominator grow mid-batch and the percentage jump backwards
|
|
56
|
+
* (1/1 = 100%, then a second row starts and it drops to 1/2 = 50%), which flickered the
|
|
57
|
+
* header subtitle on and off once per file.
|
|
58
|
+
*
|
|
59
|
+
* "Expected" is derived from upload outcome rather than from the AI-metadata flag:
|
|
60
|
+
* - a row still uploading may yet enter the phase, so it counts toward the total;
|
|
61
|
+
* - an errored or cancelled row never will, so it must not — otherwise a batch with
|
|
62
|
+
* one failure could never reach 100%.
|
|
63
|
+
*
|
|
64
|
+
* Returns `null` when nothing has entered the phase and nothing is pending — i.e. AI
|
|
65
|
+
* metadata is off, or the batch is done — so the header can hide the subtitle.
|
|
66
|
+
*/
|
|
67
|
+
export declare const selectMetadataProgress: ((state: RootState) => number | null) & import("reselect").OutputSelectorFields<(args_0: FileProgress[]) => number | null, {
|
|
68
|
+
clearCache: () => void;
|
|
69
|
+
}> & {
|
|
70
|
+
clearCache: () => void;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Whether the metadata phase is still ongoing for the batch as a whole.
|
|
74
|
+
*
|
|
75
|
+
* The header uses this — not `selectMetadataProgress === 100` — to decide when to drop
|
|
76
|
+
* the subtitle. Two distinct reasons the phase can be unfinished:
|
|
77
|
+
* - a row is generating right now;
|
|
78
|
+
* - no row is generating this instant, but rows are still uploading and will enter the
|
|
79
|
+
* phase when they finish.
|
|
80
|
+
*
|
|
81
|
+
* The second clause is what keeps the subtitle stable. Generation for file N typically
|
|
82
|
+
* finishes before file N+1 finishes uploading, so a naive "is anything generating?"
|
|
83
|
+
* check goes false between every pair of files and blinks the subtitle out and back in.
|
|
84
|
+
*/
|
|
85
|
+
export declare const selectIsGeneratingMetadata: ((state: RootState) => boolean) & import("reselect").OutputSelectorFields<(args_0: FileProgress[]) => boolean, {
|
|
86
|
+
clearCache: () => void;
|
|
87
|
+
}> & {
|
|
88
|
+
clearCache: () => void;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* How many rows reached each terminal metadata outcome, for the header's completion
|
|
92
|
+
* message. `null` while the phase is unfinished — or was never entered at all — so the
|
|
93
|
+
* caller has a single check for "there is no settled outcome to report yet".
|
|
94
|
+
*
|
|
95
|
+
* Counts are reported separately rather than collapsed into one total because they are
|
|
96
|
+
* not interchangeable: only `generated` rows actually had metadata written, so only that
|
|
97
|
+
* count can be claimed as a success. A batch of non-images settles entirely on `skipped`,
|
|
98
|
+
* where "generated on 0 files" would be worse than saying nothing.
|
|
99
|
+
*/
|
|
100
|
+
export declare const selectMetadataOutcome: ((state: RootState) => {
|
|
101
|
+
generated: number;
|
|
102
|
+
skipped: number;
|
|
103
|
+
failed: number;
|
|
104
|
+
} | null) & import("reselect").OutputSelectorFields<(args_0: FileProgress[]) => {
|
|
105
|
+
generated: number;
|
|
106
|
+
skipped: number;
|
|
107
|
+
failed: number;
|
|
108
|
+
} | null, {
|
|
109
|
+
clearCache: () => void;
|
|
110
|
+
}> & {
|
|
111
|
+
clearCache: () => void;
|
|
112
|
+
};
|
|
38
113
|
export declare const openUploadProgress: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
39
114
|
totalFiles: number;
|
|
40
115
|
fileNames: string[];
|
|
@@ -53,7 +128,14 @@ export declare const openUploadProgress: import("@reduxjs/toolkit").ActionCreato
|
|
|
53
128
|
index: number;
|
|
54
129
|
name: string;
|
|
55
130
|
message: string;
|
|
56
|
-
}, "uploadProgress/setFileError">,
|
|
131
|
+
}, "uploadProgress/setFileError">, setFileMetadataGenerating: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
132
|
+
index: number;
|
|
133
|
+
uploadId: number;
|
|
134
|
+
}, "uploadProgress/setFileMetadataGenerating">, setFileMetadataResult: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
135
|
+
index: number;
|
|
136
|
+
uploadId: number;
|
|
137
|
+
status: FileMetadataResultStatus;
|
|
138
|
+
}, "uploadProgress/setFileMetadataResult">, addUploadErrors: import("@reduxjs/toolkit").ActionCreatorWithPayload<FileUploadError[], "uploadProgress/addUploadErrors">, closeUploadProgress: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uploadProgress/closeUploadProgress">, toggleMinimize: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uploadProgress/toggleMinimize">, cancelUpload: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uploadProgress/cancelUpload">, setUploadFailed: import("@reduxjs/toolkit").ActionCreatorWithPayload<{
|
|
57
139
|
message: string;
|
|
58
140
|
}, "uploadProgress/setUploadFailed">, retryCancelledFiles: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uploadProgress/retryCancelledFiles">;
|
|
59
141
|
export declare const uploadProgressReducer: import("redux").Reducer<UploadProgressState>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `_q` must be encoded on both hops: `useQueryParams.setQuery` and the fetch
|
|
3
|
+
* client both stringify with `{ encode: false }`, so an unencoded `&` would
|
|
4
|
+
* truncate the query. `qs.parse` decodes `+` as a space, so `+` needs escaping
|
|
5
|
+
* beyond what `encodeURIComponent` does.
|
|
6
|
+
*/
|
|
7
|
+
export declare const encodeSearchQuery: (value: string) => string;
|
|
@@ -12,7 +12,7 @@ export declare const useEditAsset: () => {
|
|
|
12
12
|
cancel: () => void;
|
|
13
13
|
editAsset: (asset: FileAsset, file: File) => Promise<FileAsset>;
|
|
14
14
|
progress: number;
|
|
15
|
-
status: "
|
|
15
|
+
status: "success" | "error" | "loading" | "idle";
|
|
16
16
|
data: undefined;
|
|
17
17
|
error: null;
|
|
18
18
|
isError: false;
|
|
@@ -39,7 +39,7 @@ export declare const useEditAsset: () => {
|
|
|
39
39
|
cancel: () => void;
|
|
40
40
|
editAsset: (asset: FileAsset, file: File) => Promise<FileAsset>;
|
|
41
41
|
progress: number;
|
|
42
|
-
status: "
|
|
42
|
+
status: "success" | "error" | "loading" | "idle";
|
|
43
43
|
data: undefined;
|
|
44
44
|
error: null;
|
|
45
45
|
isError: false;
|
|
@@ -66,7 +66,7 @@ export declare const useEditAsset: () => {
|
|
|
66
66
|
cancel: () => void;
|
|
67
67
|
editAsset: (asset: FileAsset, file: File) => Promise<FileAsset>;
|
|
68
68
|
progress: number;
|
|
69
|
-
status: "
|
|
69
|
+
status: "success" | "error" | "loading" | "idle";
|
|
70
70
|
data: undefined;
|
|
71
71
|
error: ErrorMutation;
|
|
72
72
|
isError: true;
|
|
@@ -93,7 +93,7 @@ export declare const useEditAsset: () => {
|
|
|
93
93
|
cancel: () => void;
|
|
94
94
|
editAsset: (asset: FileAsset, file: File) => Promise<FileAsset>;
|
|
95
95
|
progress: number;
|
|
96
|
-
status: "
|
|
96
|
+
status: "success" | "error" | "loading" | "idle";
|
|
97
97
|
data: FileAsset;
|
|
98
98
|
error: null;
|
|
99
99
|
isError: false;
|
|
@@ -6,7 +6,7 @@ interface EditFolderRequestParams {
|
|
|
6
6
|
}
|
|
7
7
|
export declare const useEditFolder: () => {
|
|
8
8
|
editFolder: (attrs: EditFolderRequestParams["attrs"], id?: EditFolderRequestParams["id"]) => Promise<import("../../../shared/contracts/folders").Folder>;
|
|
9
|
-
status: "
|
|
9
|
+
status: "success" | "error" | "loading" | "idle";
|
|
10
10
|
data: undefined;
|
|
11
11
|
error: null;
|
|
12
12
|
isError: false;
|
|
@@ -22,7 +22,7 @@ export declare const useEditFolder: () => {
|
|
|
22
22
|
mutateAsync: import("react-query").UseMutateAsyncFunction<import("../../../shared/contracts/folders").Folder, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").NotFoundError<string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, EditFolderRequestParams, unknown>;
|
|
23
23
|
} | {
|
|
24
24
|
editFolder: (attrs: EditFolderRequestParams["attrs"], id?: EditFolderRequestParams["id"]) => Promise<import("../../../shared/contracts/folders").Folder>;
|
|
25
|
-
status: "
|
|
25
|
+
status: "success" | "error" | "loading" | "idle";
|
|
26
26
|
data: undefined;
|
|
27
27
|
error: null;
|
|
28
28
|
isError: false;
|
|
@@ -38,7 +38,7 @@ export declare const useEditFolder: () => {
|
|
|
38
38
|
mutateAsync: import("react-query").UseMutateAsyncFunction<import("../../../shared/contracts/folders").Folder, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").NotFoundError<string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, EditFolderRequestParams, unknown>;
|
|
39
39
|
} | {
|
|
40
40
|
editFolder: (attrs: EditFolderRequestParams["attrs"], id?: EditFolderRequestParams["id"]) => Promise<import("../../../shared/contracts/folders").Folder>;
|
|
41
|
-
status: "
|
|
41
|
+
status: "success" | "error" | "loading" | "idle";
|
|
42
42
|
data: undefined;
|
|
43
43
|
error: import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").NotFoundError<string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined;
|
|
44
44
|
isError: true;
|
|
@@ -54,7 +54,7 @@ export declare const useEditFolder: () => {
|
|
|
54
54
|
mutateAsync: import("react-query").UseMutateAsyncFunction<import("../../../shared/contracts/folders").Folder, import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").NotFoundError<string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | undefined, EditFolderRequestParams, unknown>;
|
|
55
55
|
} | {
|
|
56
56
|
editFolder: (attrs: EditFolderRequestParams["attrs"], id?: EditFolderRequestParams["id"]) => Promise<import("../../../shared/contracts/folders").Folder>;
|
|
57
|
-
status: "
|
|
57
|
+
status: "success" | "error" | "loading" | "idle";
|
|
58
58
|
data: import("../../../shared/contracts/folders").Folder;
|
|
59
59
|
error: null;
|
|
60
60
|
isError: false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { TrackingEvent } from '@strapi/admin/strapi-admin';
|
|
2
2
|
export declare const useTracking: () => {
|
|
3
|
-
trackUsage: <TEvent extends TrackingEvent>(event: TEvent["name"], properties?: TEvent["properties"]) => Promise<import("axios").AxiosResponse<string, any, {}> | null>;
|
|
3
|
+
trackUsage: <TEvent extends TrackingEvent>(event: TEvent["name"], properties?: TEvent["properties"]) => Promise<import("axios").AxiosResponse<string, any, {}, any> | null>;
|
|
4
4
|
};
|
|
@@ -10,6 +10,6 @@ export declare const useUpload: () => {
|
|
|
10
10
|
cancel: () => void;
|
|
11
11
|
error: import("@strapi/utils/dist/errors").ApplicationError<"ApplicationError", string, unknown> | import("@strapi/utils/dist/errors").ValidationError<string, unknown> | null | undefined;
|
|
12
12
|
progress: number;
|
|
13
|
-
status: "
|
|
13
|
+
status: "success" | "error" | "loading" | "idle";
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
@@ -82,7 +82,7 @@ var en = {
|
|
|
82
82
|
"upload.progress.indicator.complete": "Upload complete indicator",
|
|
83
83
|
"upload.progress.label": "Upload",
|
|
84
84
|
"upload.progress.errors.title": "Failed to upload:",
|
|
85
|
-
"upload.progress.cancel": "Cancel",
|
|
85
|
+
"upload.progress.cancel": "Cancel all",
|
|
86
86
|
"upload.progress.canceled": "Uploads canceled",
|
|
87
87
|
"upload.progress.canceled.subtitle": "Some files were not uploaded",
|
|
88
88
|
"upload.progress.canceled.subtitle.all": "All uploads were canceled",
|
|
@@ -90,6 +90,13 @@ var en = {
|
|
|
90
90
|
"upload.progress.file.uploading": "Uploading...",
|
|
91
91
|
"upload.progress.file.canceled": "Canceled",
|
|
92
92
|
"upload.progress.file.uploaded": "Uploaded",
|
|
93
|
+
"upload.progress.file.generatingMetadata": "Uploaded • Generating metadata…",
|
|
94
|
+
"upload.progress.file.metadataGenerated": "Uploaded • Metadata generated",
|
|
95
|
+
"upload.progress.file.metadataSkipped": "Upload complete • Metadata generation skipped",
|
|
96
|
+
"upload.progress.file.metadataFailed": "Upload complete • Metadata generation failed",
|
|
97
|
+
"upload.progress.generatingMetadata.withCount": "Generating metadata with AI ({percentage}%)",
|
|
98
|
+
"upload.progress.metadataGenerated.withCount": "{count, plural, one {Metadata successfully generated on # file} other {Metadata successfully generated on # files}}",
|
|
99
|
+
"upload.progress.metadataGenerated.withFailures": "{generatedCount} generated, {failedCount} failed",
|
|
93
100
|
"upload.progress.maximize": "Maximize",
|
|
94
101
|
"upload.progress.minimize": "Minimize",
|
|
95
102
|
"upload.progress.close": "Close",
|
|
@@ -137,6 +144,11 @@ var en = {
|
|
|
137
144
|
"header.content.assets-empty": "No assets",
|
|
138
145
|
"header.content.assets": "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}}",
|
|
139
146
|
"header.content.item-count": "{count, plural, =1 {# item} other {# items}}",
|
|
147
|
+
"header.search.placeholder": "Search",
|
|
148
|
+
"header.search-results": "Search results for \"{query}\"",
|
|
149
|
+
"header.search-results.count": "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}}",
|
|
150
|
+
"header.search-results.count.assets": "{numberAssets, plural, =0 {0 assets} one {1 asset} other {# assets}}",
|
|
151
|
+
"header.search-results.count.folders": "{numberFolders, plural, one {1 folder} other {# folders}}",
|
|
140
152
|
"import-files": "File upload",
|
|
141
153
|
"import-from-url": "File upload from URL",
|
|
142
154
|
"input.button.label": "Browse files",
|
|
@@ -162,6 +174,34 @@ var en = {
|
|
|
162
174
|
"list.empty.title": "No assets yet",
|
|
163
175
|
"list.empty.description": "Get started by uploading assets or creating a folder.",
|
|
164
176
|
"list.empty.add-assets": "Add assets",
|
|
177
|
+
"list.filters.trigger": "Filter",
|
|
178
|
+
"list.filters.field.type": "Type",
|
|
179
|
+
"list.filters.field.created": "Creation date",
|
|
180
|
+
"list.filters.field.updated": "Last modified",
|
|
181
|
+
"list.filters.type.folder": "Folder",
|
|
182
|
+
"list.filters.type.picture": "Picture",
|
|
183
|
+
"list.filters.type.audio": "Audio",
|
|
184
|
+
"list.filters.type.video": "Video",
|
|
185
|
+
"list.filters.type.document": "Document",
|
|
186
|
+
"list.filters.preset.1day": "1 day ago",
|
|
187
|
+
"list.filters.preset.3days": "3 days ago",
|
|
188
|
+
"list.filters.preset.1week": "1 week ago",
|
|
189
|
+
"list.filters.preset.1month": "1 month ago",
|
|
190
|
+
"list.filters.preset.3months": "3 months ago",
|
|
191
|
+
"list.filters.preset.6months": "6 months ago",
|
|
192
|
+
"list.filters.preset.1year": "1 year ago",
|
|
193
|
+
"list.filters.select-date-range": "Select date range",
|
|
194
|
+
"list.filters.condition.is": "is",
|
|
195
|
+
"list.filters.condition.is-not": "is not",
|
|
196
|
+
"list.filters.condition.is-exactly": "is exactly",
|
|
197
|
+
"list.filters.condition.within-last": "within the last",
|
|
198
|
+
"list.filters.condition.not-within-last": "not within the last",
|
|
199
|
+
"list.filters.remove": "Remove {filter} filter",
|
|
200
|
+
"list.filters.empty": "No items matched current filters",
|
|
201
|
+
"list.filters.clear": "Clear filters",
|
|
202
|
+
"list.filters.calendar.previous-month": "Previous month",
|
|
203
|
+
"list.filters.calendar.next-month": "Next month",
|
|
204
|
+
"list.filters.calendar.label": "Select date range",
|
|
165
205
|
"list.sort.trigger": "Sort: {active}",
|
|
166
206
|
"list.sort.section": "Sort",
|
|
167
207
|
"list.sort.oldest-uploads": "Oldest uploads",
|
|
@@ -174,6 +214,9 @@ var en = {
|
|
|
174
214
|
"list.sort.folders-on-top": "On top",
|
|
175
215
|
"list.sort.folders-mixed": "Mixed with files",
|
|
176
216
|
"list.sort.active": "(active)",
|
|
217
|
+
"list.search.empty.title": "No results found",
|
|
218
|
+
"list.search.empty.description": "No assets or folders match \"{query}\". Try a different search.",
|
|
219
|
+
"list.search.empty.clear": "Clear search",
|
|
177
220
|
"list.assets.loading-more": "Loading more assets...",
|
|
178
221
|
"list.assets.loading-asset": "Loading the preview for the media: {path}",
|
|
179
222
|
"list.assets.not-supported-content": "No preview available",
|
|
@@ -279,6 +322,11 @@ var en = {
|
|
|
279
322
|
"list.bulk-actions.selected-count": "{count, plural, =1 {# item selected} other {# items selected}}",
|
|
280
323
|
"list.bulk-actions.clear": "Clear selection",
|
|
281
324
|
"list.bulk-actions.create-metadata": "Create metadata",
|
|
325
|
+
"list.bulk-actions.create-metadata.success": "{count, plural, =1 {Metadata generated for # asset} other {Metadata generated for # assets}}",
|
|
326
|
+
"list.bulk-actions.create-metadata.partial": "{successCount} generated, {skippedCount} skipped (unsupported file type), {errorCount} failed{folderCount, plural, =0 {} one {, # folder ignored} other {, # folders ignored}}",
|
|
327
|
+
"list.bulk-actions.create-metadata.error": "An error occurred while generating metadata.",
|
|
328
|
+
"list.bulk-actions.create-metadata.too-many": "Metadata can be generated for up to {max} assets at a time. Select fewer assets to continue.",
|
|
329
|
+
"list.bulk-actions.create-metadata.no-eligible": "Metadata can only be generated for images. None of the selected assets are supported.",
|
|
282
330
|
"list.bulk-actions.move": "Move",
|
|
283
331
|
"list.bulk-actions.move.title": "Move elements to",
|
|
284
332
|
"list.bulk-actions.move.location": "Location",
|
|
@@ -291,7 +339,6 @@ var en = {
|
|
|
291
339
|
"list.bulk-actions.delete.confirm.description.cant-be-undone": "This action can’t be undone. Deleting a folder also removes everything inside it, and any linked content will break – media asset containers will appear empty.",
|
|
292
340
|
"list.bulk-actions.delete.success": "{count, plural, =1 {# item has been deleted} other {# items have been deleted}}",
|
|
293
341
|
"list.bulk-actions.delete.error": "An error occurred while deleting the items.",
|
|
294
|
-
"list.bulk-actions.create-metadata-not-available": "Generate metadata isn't available yet",
|
|
295
342
|
"tabs.title": "How do you want to upload your assets?",
|
|
296
343
|
"window.confirm.close-modal.file": "Are you sure? Your changes will be lost.",
|
|
297
344
|
"window.confirm.close-modal.files": "Are you sure? You have some files that have not been uploaded yet.",
|
|
@@ -317,8 +364,11 @@ var en = {
|
|
|
317
364
|
"sidebar.tree.expand": "Expand {name}",
|
|
318
365
|
"sidebar.tree.collapse": "Collapse {name}",
|
|
319
366
|
"sidebar.tree.empty": "No folders yet",
|
|
367
|
+
"sidebar.tree.no-results": "No folders match \"{query}\"",
|
|
320
368
|
"sidebar.tree.loading": "Loading folders...",
|
|
321
|
-
"sidebar.tree.error": "Could not load folders."
|
|
369
|
+
"sidebar.tree.error": "Could not load folders.",
|
|
370
|
+
"sidebar.search.label": "Search folders",
|
|
371
|
+
"sidebar.search.placeholder": "Search folders"
|
|
322
372
|
};
|
|
323
373
|
|
|
324
374
|
module.exports = en;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -80,7 +80,7 @@ var en = {
|
|
|
80
80
|
"upload.progress.indicator.complete": "Upload complete indicator",
|
|
81
81
|
"upload.progress.label": "Upload",
|
|
82
82
|
"upload.progress.errors.title": "Failed to upload:",
|
|
83
|
-
"upload.progress.cancel": "Cancel",
|
|
83
|
+
"upload.progress.cancel": "Cancel all",
|
|
84
84
|
"upload.progress.canceled": "Uploads canceled",
|
|
85
85
|
"upload.progress.canceled.subtitle": "Some files were not uploaded",
|
|
86
86
|
"upload.progress.canceled.subtitle.all": "All uploads were canceled",
|
|
@@ -88,6 +88,13 @@ var en = {
|
|
|
88
88
|
"upload.progress.file.uploading": "Uploading...",
|
|
89
89
|
"upload.progress.file.canceled": "Canceled",
|
|
90
90
|
"upload.progress.file.uploaded": "Uploaded",
|
|
91
|
+
"upload.progress.file.generatingMetadata": "Uploaded • Generating metadata…",
|
|
92
|
+
"upload.progress.file.metadataGenerated": "Uploaded • Metadata generated",
|
|
93
|
+
"upload.progress.file.metadataSkipped": "Upload complete • Metadata generation skipped",
|
|
94
|
+
"upload.progress.file.metadataFailed": "Upload complete • Metadata generation failed",
|
|
95
|
+
"upload.progress.generatingMetadata.withCount": "Generating metadata with AI ({percentage}%)",
|
|
96
|
+
"upload.progress.metadataGenerated.withCount": "{count, plural, one {Metadata successfully generated on # file} other {Metadata successfully generated on # files}}",
|
|
97
|
+
"upload.progress.metadataGenerated.withFailures": "{generatedCount} generated, {failedCount} failed",
|
|
91
98
|
"upload.progress.maximize": "Maximize",
|
|
92
99
|
"upload.progress.minimize": "Minimize",
|
|
93
100
|
"upload.progress.close": "Close",
|
|
@@ -135,6 +142,11 @@ var en = {
|
|
|
135
142
|
"header.content.assets-empty": "No assets",
|
|
136
143
|
"header.content.assets": "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}}",
|
|
137
144
|
"header.content.item-count": "{count, plural, =1 {# item} other {# items}}",
|
|
145
|
+
"header.search.placeholder": "Search",
|
|
146
|
+
"header.search-results": "Search results for \"{query}\"",
|
|
147
|
+
"header.search-results.count": "{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}}",
|
|
148
|
+
"header.search-results.count.assets": "{numberAssets, plural, =0 {0 assets} one {1 asset} other {# assets}}",
|
|
149
|
+
"header.search-results.count.folders": "{numberFolders, plural, one {1 folder} other {# folders}}",
|
|
138
150
|
"import-files": "File upload",
|
|
139
151
|
"import-from-url": "File upload from URL",
|
|
140
152
|
"input.button.label": "Browse files",
|
|
@@ -160,6 +172,34 @@ var en = {
|
|
|
160
172
|
"list.empty.title": "No assets yet",
|
|
161
173
|
"list.empty.description": "Get started by uploading assets or creating a folder.",
|
|
162
174
|
"list.empty.add-assets": "Add assets",
|
|
175
|
+
"list.filters.trigger": "Filter",
|
|
176
|
+
"list.filters.field.type": "Type",
|
|
177
|
+
"list.filters.field.created": "Creation date",
|
|
178
|
+
"list.filters.field.updated": "Last modified",
|
|
179
|
+
"list.filters.type.folder": "Folder",
|
|
180
|
+
"list.filters.type.picture": "Picture",
|
|
181
|
+
"list.filters.type.audio": "Audio",
|
|
182
|
+
"list.filters.type.video": "Video",
|
|
183
|
+
"list.filters.type.document": "Document",
|
|
184
|
+
"list.filters.preset.1day": "1 day ago",
|
|
185
|
+
"list.filters.preset.3days": "3 days ago",
|
|
186
|
+
"list.filters.preset.1week": "1 week ago",
|
|
187
|
+
"list.filters.preset.1month": "1 month ago",
|
|
188
|
+
"list.filters.preset.3months": "3 months ago",
|
|
189
|
+
"list.filters.preset.6months": "6 months ago",
|
|
190
|
+
"list.filters.preset.1year": "1 year ago",
|
|
191
|
+
"list.filters.select-date-range": "Select date range",
|
|
192
|
+
"list.filters.condition.is": "is",
|
|
193
|
+
"list.filters.condition.is-not": "is not",
|
|
194
|
+
"list.filters.condition.is-exactly": "is exactly",
|
|
195
|
+
"list.filters.condition.within-last": "within the last",
|
|
196
|
+
"list.filters.condition.not-within-last": "not within the last",
|
|
197
|
+
"list.filters.remove": "Remove {filter} filter",
|
|
198
|
+
"list.filters.empty": "No items matched current filters",
|
|
199
|
+
"list.filters.clear": "Clear filters",
|
|
200
|
+
"list.filters.calendar.previous-month": "Previous month",
|
|
201
|
+
"list.filters.calendar.next-month": "Next month",
|
|
202
|
+
"list.filters.calendar.label": "Select date range",
|
|
163
203
|
"list.sort.trigger": "Sort: {active}",
|
|
164
204
|
"list.sort.section": "Sort",
|
|
165
205
|
"list.sort.oldest-uploads": "Oldest uploads",
|
|
@@ -172,6 +212,9 @@ var en = {
|
|
|
172
212
|
"list.sort.folders-on-top": "On top",
|
|
173
213
|
"list.sort.folders-mixed": "Mixed with files",
|
|
174
214
|
"list.sort.active": "(active)",
|
|
215
|
+
"list.search.empty.title": "No results found",
|
|
216
|
+
"list.search.empty.description": "No assets or folders match \"{query}\". Try a different search.",
|
|
217
|
+
"list.search.empty.clear": "Clear search",
|
|
175
218
|
"list.assets.loading-more": "Loading more assets...",
|
|
176
219
|
"list.assets.loading-asset": "Loading the preview for the media: {path}",
|
|
177
220
|
"list.assets.not-supported-content": "No preview available",
|
|
@@ -277,6 +320,11 @@ var en = {
|
|
|
277
320
|
"list.bulk-actions.selected-count": "{count, plural, =1 {# item selected} other {# items selected}}",
|
|
278
321
|
"list.bulk-actions.clear": "Clear selection",
|
|
279
322
|
"list.bulk-actions.create-metadata": "Create metadata",
|
|
323
|
+
"list.bulk-actions.create-metadata.success": "{count, plural, =1 {Metadata generated for # asset} other {Metadata generated for # assets}}",
|
|
324
|
+
"list.bulk-actions.create-metadata.partial": "{successCount} generated, {skippedCount} skipped (unsupported file type), {errorCount} failed{folderCount, plural, =0 {} one {, # folder ignored} other {, # folders ignored}}",
|
|
325
|
+
"list.bulk-actions.create-metadata.error": "An error occurred while generating metadata.",
|
|
326
|
+
"list.bulk-actions.create-metadata.too-many": "Metadata can be generated for up to {max} assets at a time. Select fewer assets to continue.",
|
|
327
|
+
"list.bulk-actions.create-metadata.no-eligible": "Metadata can only be generated for images. None of the selected assets are supported.",
|
|
280
328
|
"list.bulk-actions.move": "Move",
|
|
281
329
|
"list.bulk-actions.move.title": "Move elements to",
|
|
282
330
|
"list.bulk-actions.move.location": "Location",
|
|
@@ -289,7 +337,6 @@ var en = {
|
|
|
289
337
|
"list.bulk-actions.delete.confirm.description.cant-be-undone": "This action can’t be undone. Deleting a folder also removes everything inside it, and any linked content will break – media asset containers will appear empty.",
|
|
290
338
|
"list.bulk-actions.delete.success": "{count, plural, =1 {# item has been deleted} other {# items have been deleted}}",
|
|
291
339
|
"list.bulk-actions.delete.error": "An error occurred while deleting the items.",
|
|
292
|
-
"list.bulk-actions.create-metadata-not-available": "Generate metadata isn't available yet",
|
|
293
340
|
"tabs.title": "How do you want to upload your assets?",
|
|
294
341
|
"window.confirm.close-modal.file": "Are you sure? Your changes will be lost.",
|
|
295
342
|
"window.confirm.close-modal.files": "Are you sure? You have some files that have not been uploaded yet.",
|
|
@@ -315,8 +362,11 @@ var en = {
|
|
|
315
362
|
"sidebar.tree.expand": "Expand {name}",
|
|
316
363
|
"sidebar.tree.collapse": "Collapse {name}",
|
|
317
364
|
"sidebar.tree.empty": "No folders yet",
|
|
365
|
+
"sidebar.tree.no-results": "No folders match \"{query}\"",
|
|
318
366
|
"sidebar.tree.loading": "Loading folders...",
|
|
319
|
-
"sidebar.tree.error": "Could not load folders."
|
|
367
|
+
"sidebar.tree.error": "Could not load folders.",
|
|
368
|
+
"sidebar.search.label": "Search folders",
|
|
369
|
+
"sidebar.search.placeholder": "Search folders"
|
|
320
370
|
};
|
|
321
371
|
|
|
322
372
|
export { en as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -24,6 +24,7 @@ function _interopNamespace(e) {
|
|
|
24
24
|
|
|
25
25
|
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
26
26
|
|
|
27
|
+
const MAX_URLS = 20;
|
|
27
28
|
const urlSchema = yup__namespace.object().shape({
|
|
28
29
|
urls: yup__namespace.string().test({
|
|
29
30
|
name: 'isUrlValid',
|
|
@@ -31,16 +32,30 @@ const urlSchema = yup__namespace.object().shape({
|
|
|
31
32
|
message: '${path}',
|
|
32
33
|
test (values = '') {
|
|
33
34
|
const urls = values.split(/\r?\n/);
|
|
34
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Messages are message descriptors rather than bare ids because these translations
|
|
37
|
+
* interpolate values (`{min}`, `{max}`, `{number}`). Without `values`, react-intl
|
|
38
|
+
* fails to format them and renders the raw placeholder. See strapi/strapi#19030.
|
|
39
|
+
*/ if (urls.length === 0) {
|
|
35
40
|
return this.createError({
|
|
36
41
|
path: this.path,
|
|
37
|
-
message:
|
|
42
|
+
message: {
|
|
43
|
+
...strapiAdmin.translatedErrors.min,
|
|
44
|
+
values: {
|
|
45
|
+
min: 1
|
|
46
|
+
}
|
|
47
|
+
}
|
|
38
48
|
});
|
|
39
49
|
}
|
|
40
|
-
if (urls.length >
|
|
50
|
+
if (urls.length > MAX_URLS) {
|
|
41
51
|
return this.createError({
|
|
42
52
|
path: this.path,
|
|
43
|
-
message:
|
|
53
|
+
message: {
|
|
54
|
+
...strapiAdmin.translatedErrors.max,
|
|
55
|
+
values: {
|
|
56
|
+
max: MAX_URLS
|
|
57
|
+
}
|
|
58
|
+
}
|
|
44
59
|
});
|
|
45
60
|
}
|
|
46
61
|
const filtered = urls.filter((val)=>{
|
|
@@ -48,7 +63,7 @@ const urlSchema = yup__namespace.object().shape({
|
|
|
48
63
|
// eslint-disable-next-line no-new
|
|
49
64
|
new URL(val);
|
|
50
65
|
return false;
|
|
51
|
-
} catch
|
|
66
|
+
} catch {
|
|
52
67
|
// invalid url
|
|
53
68
|
return true;
|
|
54
69
|
}
|
|
@@ -57,12 +72,21 @@ const urlSchema = yup__namespace.object().shape({
|
|
|
57
72
|
if (filteredLength === 0) {
|
|
58
73
|
return true;
|
|
59
74
|
}
|
|
60
|
-
const errorMessage = filteredLength > 1 ?
|
|
75
|
+
const errorMessage = filteredLength > 1 ? {
|
|
76
|
+
id: 'form.upload-url.error.url.invalids',
|
|
77
|
+
defaultMessage: '{number} URLs are invalids'
|
|
78
|
+
} : {
|
|
79
|
+
id: 'form.upload-url.error.url.invalid',
|
|
80
|
+
defaultMessage: 'One URL is invalid'
|
|
81
|
+
};
|
|
61
82
|
return this.createError({
|
|
62
83
|
path: this.path,
|
|
63
|
-
message:
|
|
64
|
-
|
|
65
|
-
|
|
84
|
+
message: {
|
|
85
|
+
...errorMessage,
|
|
86
|
+
id: getTrad.getTrad(errorMessage.id),
|
|
87
|
+
values: {
|
|
88
|
+
number: filteredLength
|
|
89
|
+
}
|
|
66
90
|
}
|
|
67
91
|
});
|
|
68
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlYupSchema.js","sources":["../../../admin/src/utils/urlYupSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from './getTrad';\n\nexport const urlSchema = yup.object().shape({\n urls: yup.string().test({\n name: 'isUrlValid',\n // eslint-disable-next-line no-template-curly-in-string\n message: '${path}',\n test(values = '') {\n const urls = values.split(/\\r?\\n/);\n\n if (urls.length === 0) {\n return this.createError({\n path: this.path,\n message: errorsTrads.min
|
|
1
|
+
{"version":3,"file":"urlYupSchema.js","sources":["../../../admin/src/utils/urlYupSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from './getTrad';\n\nconst MAX_URLS = 20;\n\nexport const urlSchema = yup.object().shape({\n urls: yup.string().test({\n name: 'isUrlValid',\n // eslint-disable-next-line no-template-curly-in-string\n message: '${path}',\n test(values = '') {\n const urls = values.split(/\\r?\\n/);\n\n /**\n * Messages are message descriptors rather than bare ids because these translations\n * interpolate values (`{min}`, `{max}`, `{number}`). Without `values`, react-intl\n * fails to format them and renders the raw placeholder. See strapi/strapi#19030.\n */\n if (urls.length === 0) {\n return this.createError({\n path: this.path,\n message: { ...errorsTrads.min, values: { min: 1 } },\n });\n }\n\n if (urls.length > MAX_URLS) {\n return this.createError({\n path: this.path,\n message: { ...errorsTrads.max, values: { max: MAX_URLS } },\n });\n }\n\n const filtered = urls.filter((val) => {\n try {\n // eslint-disable-next-line no-new\n new URL(val);\n\n return false;\n } catch {\n // invalid url\n return true;\n }\n });\n\n const filteredLength = filtered.length;\n\n if (filteredLength === 0) {\n return true;\n }\n\n const errorMessage =\n filteredLength > 1\n ? {\n id: 'form.upload-url.error.url.invalids',\n defaultMessage: '{number} URLs are invalids',\n }\n : { id: 'form.upload-url.error.url.invalid', defaultMessage: 'One URL is invalid' };\n\n return this.createError({\n path: this.path,\n message: {\n ...errorMessage,\n id: getTrad(errorMessage.id),\n values: { number: filteredLength },\n },\n });\n },\n }),\n});\n"],"names":["MAX_URLS","urlSchema","yup","object","shape","urls","string","test","name","message","values","split","length","createError","path","errorsTrads","min","max","filtered","filter","val","URL","filteredLength","errorMessage","id","defaultMessage","getTrad","number"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,QAAAA,GAAW,EAAA;MAEJC,SAAAA,GAAYC,cAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AAC1CC,IAAAA,IAAAA,EAAMH,cAAAA,CAAII,MAAM,EAAA,CAAGC,IAAI,CAAC;QACtBC,IAAAA,EAAM,YAAA;;QAENC,OAAAA,EAAS,SAAA;AACTF,QAAAA,IAAAA,CAAAA,CAAKG,SAAS,EAAE,EAAA;YACd,MAAML,IAAAA,GAAOK,MAAAA,CAAOC,KAAK,CAAC,OAAA,CAAA;AAE1B;;;;AAIC,UACD,IAAIN,IAAAA,CAAKO,MAAM,KAAK,CAAA,EAAG;gBACrB,OAAO,IAAI,CAACC,WAAW,CAAC;oBACtBC,IAAAA,EAAM,IAAI,CAACA,IAAI;oBACfL,OAAAA,EAAS;AAAE,wBAAA,GAAGM,6BAAYC,GAAG;wBAAEN,MAAAA,EAAQ;4BAAEM,GAAAA,EAAK;AAAE;AAAE;AACpD,iBAAA,CAAA;AACF,YAAA;YAEA,IAAIX,IAAAA,CAAKO,MAAM,GAAGZ,QAAAA,EAAU;gBAC1B,OAAO,IAAI,CAACa,WAAW,CAAC;oBACtBC,IAAAA,EAAM,IAAI,CAACA,IAAI;oBACfL,OAAAA,EAAS;AAAE,wBAAA,GAAGM,6BAAYE,GAAG;wBAAEP,MAAAA,EAAQ;4BAAEO,GAAAA,EAAKjB;AAAS;AAAE;AAC3D,iBAAA,CAAA;AACF,YAAA;AAEA,YAAA,MAAMkB,QAAAA,GAAWb,IAAAA,CAAKc,MAAM,CAAC,CAACC,GAAAA,GAAAA;gBAC5B,IAAI;;AAEF,oBAAA,IAAIC,GAAAA,CAAID,GAAAA,CAAAA;oBAER,OAAO,KAAA;AACT,gBAAA,CAAA,CAAE,OAAM;;oBAEN,OAAO,IAAA;AACT,gBAAA;AACF,YAAA,CAAA,CAAA;YAEA,MAAME,cAAAA,GAAiBJ,SAASN,MAAM;AAEtC,YAAA,IAAIU,mBAAmB,CAAA,EAAG;gBACxB,OAAO,IAAA;AACT,YAAA;YAEA,MAAMC,YAAAA,GACJD,iBAAiB,CAAA,GACb;gBACEE,EAAAA,EAAI,oCAAA;gBACJC,cAAAA,EAAgB;aAClB,GACA;gBAAED,EAAAA,EAAI,mCAAA;gBAAqCC,cAAAA,EAAgB;AAAqB,aAAA;YAEtF,OAAO,IAAI,CAACZ,WAAW,CAAC;gBACtBC,IAAAA,EAAM,IAAI,CAACA,IAAI;gBACfL,OAAAA,EAAS;AACP,oBAAA,GAAGc,YAAY;oBACfC,EAAAA,EAAIE,eAAAA,CAAQH,aAAaC,EAAE,CAAA;oBAC3Bd,MAAAA,EAAQ;wBAAEiB,MAAAA,EAAQL;AAAe;AACnC;AACF,aAAA,CAAA;AACF,QAAA;AACF,KAAA;AACF,CAAA;;;;"}
|