@strapi/upload 5.2.0 → 5.4.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.
Files changed (147) hide show
  1. package/dist/_chunks/{index-Bi33Km2i.mjs → App-D1ayH-QS.mjs} +112 -106
  2. package/dist/_chunks/App-D1ayH-QS.mjs.map +1 -0
  3. package/dist/_chunks/{index-DlRn6eNH.js → App-Dqqn78jO.js} +112 -106
  4. package/dist/_chunks/App-Dqqn78jO.js.map +1 -0
  5. package/dist/_chunks/{index-KSVkjErL.mjs → ConfigureTheView-B2Syy3q5.mjs} +24 -23
  6. package/dist/_chunks/ConfigureTheView-B2Syy3q5.mjs.map +1 -0
  7. package/dist/_chunks/{index-l4hbqJYu.js → ConfigureTheView-fwDgErsi.js} +42 -23
  8. package/dist/_chunks/ConfigureTheView-fwDgErsi.js.map +1 -0
  9. package/dist/_chunks/{index-GpFGwMho.mjs → SettingsPage-BYC3ism8.mjs} +45 -43
  10. package/dist/_chunks/SettingsPage-BYC3ism8.mjs.map +1 -0
  11. package/dist/_chunks/{index-D7YMYvKK.js → SettingsPage-oDEVs3XV.js} +61 -41
  12. package/dist/_chunks/SettingsPage-oDEVs3XV.js.map +1 -0
  13. package/dist/_chunks/{index-BHcSb0I3.js → index-B7NW5XiM.js} +1065 -1677
  14. package/dist/_chunks/index-B7NW5XiM.js.map +1 -0
  15. package/dist/_chunks/{index-BjvAmZvH.mjs → index-Clesg6BA.mjs} +1108 -1719
  16. package/dist/_chunks/index-Clesg6BA.mjs.map +1 -0
  17. package/dist/admin/index.js +2 -2
  18. package/dist/admin/index.mjs +2 -2
  19. package/dist/admin/src/components/AssetCard/AssetCard.d.ts +18 -0
  20. package/dist/admin/src/components/AssetCard/AssetCardBase.d.ts +14 -0
  21. package/dist/admin/src/components/AssetCard/AudioAssetCard.d.ts +7 -0
  22. package/dist/admin/src/components/AssetCard/AudioPreview.d.ts +6 -0
  23. package/dist/admin/src/components/AssetCard/DocAssetCard.d.ts +7 -0
  24. package/dist/admin/src/components/AssetCard/ImageAssetCard.d.ts +12 -0
  25. package/dist/admin/src/components/AssetCard/UploadingAssetCard.d.ts +17 -0
  26. package/dist/admin/src/components/AssetCard/VideoAssetCard.d.ts +8 -0
  27. package/dist/admin/src/components/AssetCard/VideoPreview.d.ts +9 -0
  28. package/dist/admin/src/components/AssetDialog/AssetDialog.d.ts +39 -0
  29. package/dist/admin/src/components/AssetDialog/BrowseStep/BrowseStep.d.ts +63 -0
  30. package/dist/admin/src/components/AssetDialog/BrowseStep/Filters.d.ts +23 -0
  31. package/dist/admin/src/components/AssetDialog/BrowseStep/PageSize.d.ts +6 -0
  32. package/dist/admin/src/components/AssetDialog/BrowseStep/PaginationFooter/Pagination.d.ts +13 -0
  33. package/dist/admin/src/components/AssetDialog/BrowseStep/PaginationFooter/PaginationFooter.d.ts +9 -0
  34. package/dist/admin/src/components/AssetDialog/BrowseStep/SearchAsset/SearchAsset.d.ts +7 -0
  35. package/dist/admin/src/components/AssetDialog/BrowseStep/utils/isSelectable.d.ts +1 -0
  36. package/dist/admin/src/components/AssetDialog/DialogFooter.d.ts +6 -0
  37. package/dist/admin/src/components/AssetDialog/SelectedStep/SelectedStep.d.ts +8 -0
  38. package/dist/admin/src/components/AssetGridList/AssetGridList.d.ts +13 -0
  39. package/dist/admin/src/components/AssetGridList/Draggable.d.ts +9 -0
  40. package/dist/admin/src/components/Breadcrumbs/Breadcrumbs.d.ts +14 -0
  41. package/dist/admin/src/components/Breadcrumbs/CrumbSimpleMenuAsync.d.ts +7 -0
  42. package/dist/admin/src/components/BulkMoveDialog/BulkMoveDialog.d.ts +15 -0
  43. package/dist/admin/src/components/ContextInfo/ContextInfo.d.ts +8 -0
  44. package/dist/admin/src/components/CopyLinkButton/CopyLinkButton.d.ts +3 -0
  45. package/dist/admin/src/components/EditAssetDialog/DialogHeader.d.ts +1 -0
  46. package/dist/admin/src/components/EditAssetDialog/EditAssetContent.d.ts +28 -0
  47. package/dist/admin/src/components/EditAssetDialog/PreviewBox/AssetPreview.d.ts +9 -0
  48. package/dist/admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.d.ts +7 -0
  49. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewBox.d.ts +23 -0
  50. package/dist/admin/src/components/EditAssetDialog/PreviewBox/PreviewComponents.d.ts +17 -0
  51. package/dist/admin/src/components/EditAssetDialog/RemoveAssetDialog.d.ts +8 -0
  52. package/dist/admin/src/components/EditAssetDialog/ReplaceMediaButton.d.ts +8 -0
  53. package/dist/admin/src/components/EditFolderDialog/EditFolderDialog.d.ts +12 -0
  54. package/dist/admin/src/components/EditFolderDialog/ModalHeader/ModalHeader.d.ts +5 -0
  55. package/dist/admin/src/components/EditFolderDialog/RemoveFolderDialog.d.ts +7 -0
  56. package/dist/admin/src/components/EmptyAssets/EmptyAssetGrid.d.ts +6 -0
  57. package/dist/admin/src/components/EmptyAssets/EmptyAssets.d.ts +10 -0
  58. package/dist/admin/src/components/FilterList/FilterList.d.ts +33 -0
  59. package/dist/admin/src/components/FilterList/FilterTag.d.ts +23 -0
  60. package/dist/admin/src/components/FilterPopover/FilterPopover.d.ts +31 -0
  61. package/dist/admin/src/components/FilterPopover/FilterValueInput.d.ts +12 -0
  62. package/dist/admin/src/components/FilterPopover/utils/getFilterList.d.ts +21 -0
  63. package/dist/admin/src/components/FolderCard/FolderCard/FolderCard.d.ts +13 -0
  64. package/dist/admin/src/components/FolderCard/FolderCardBody/FolderCardBody.d.ts +2 -0
  65. package/dist/admin/src/components/FolderCard/FolderCardBodyAction/FolderCardBodyAction.d.ts +7 -0
  66. package/dist/admin/src/components/FolderCard/FolderCardCheckbox/FolderCardCheckbox.d.ts +2 -0
  67. package/dist/admin/src/components/FolderCard/contexts/FolderCard.d.ts +7 -0
  68. package/dist/admin/src/components/FolderGridList/FolderGridList.d.ts +6 -0
  69. package/dist/admin/src/components/MediaLibraryDialog/MediaLibraryDialog.d.ts +8 -0
  70. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAsset.d.ts +4 -0
  71. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssetActions.d.ts +9 -0
  72. package/dist/admin/src/components/MediaLibraryInput/Carousel/CarouselAssets.d.ts +22 -0
  73. package/dist/admin/src/components/MediaLibraryInput/Carousel/EmptyStateAsset.d.ts +10 -0
  74. package/dist/admin/src/components/MediaLibraryInput/MediaLibraryInput.d.ts +17 -0
  75. package/dist/admin/src/components/SelectTree/Option.d.ts +16 -0
  76. package/dist/admin/src/components/SelectTree/SelectTree.d.ts +22 -0
  77. package/dist/admin/src/components/SelectTree/utils/flattenTree.d.ts +1 -1
  78. package/dist/admin/src/components/SelectTree/utils/getOpenValues.d.ts +9 -0
  79. package/dist/admin/src/components/SelectTree/utils/getValuesToClose.d.ts +6 -0
  80. package/dist/admin/src/components/SortPicker/SortPicker.d.ts +7 -0
  81. package/dist/admin/src/components/TableList/CellContent.d.ts +8 -0
  82. package/dist/admin/src/components/TableList/PreviewCell.d.ts +7 -0
  83. package/dist/admin/src/components/TableList/TableList.d.ts +31 -0
  84. package/dist/admin/src/components/TableList/TableRows.d.ts +22 -0
  85. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/AddAssetStep.d.ts +13 -0
  86. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/FromComputerForm.d.ts +8 -0
  87. package/dist/admin/src/components/UploadAssetDialog/AddAssetStep/FromUrlForm.d.ts +8 -0
  88. package/dist/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.d.ts +22 -0
  89. package/dist/admin/src/components/UploadAssetDialog/UploadAssetDialog.d.ts +21 -0
  90. package/dist/admin/src/components/UploadProgress/UploadProgress.d.ts +7 -0
  91. package/dist/admin/src/{newConstants.d.ts → constants.d.ts} +25 -0
  92. package/dist/admin/src/hooks/useBulkMove.d.ts +5 -5
  93. package/dist/admin/src/hooks/useBulkRemove.d.ts +17 -20
  94. package/dist/admin/src/hooks/useFolder.d.ts +1 -1
  95. package/dist/admin/src/hooks/useFolderStructure.d.ts +7 -1
  96. package/dist/admin/src/hooks/useMediaLibraryPermissions.d.ts +5 -1
  97. package/dist/admin/src/hooks/useModalQueryParams.d.ts +2 -3
  98. package/dist/admin/src/hooks/useSelectionState.d.ts +1 -1
  99. package/dist/admin/src/hooks/useUpload.d.ts +6 -3
  100. package/dist/admin/src/index.d.ts +3 -0
  101. package/dist/admin/src/pages/App/App.d.ts +1 -0
  102. package/dist/admin/src/pages/App/ConfigureTheView/ConfigureTheView.d.ts +6 -0
  103. package/dist/admin/src/pages/App/ConfigureTheView/components/Settings.d.ts +13 -0
  104. package/dist/admin/src/pages/App/ConfigureTheView/state/actionTypes.d.ts +2 -0
  105. package/dist/admin/src/pages/App/ConfigureTheView/state/actions.d.ts +12 -0
  106. package/dist/admin/src/pages/App/ConfigureTheView/state/init.d.ts +8 -0
  107. package/dist/admin/src/pages/App/ConfigureTheView/state/reducer.d.ts +15 -0
  108. package/dist/admin/src/pages/App/MediaLibrary/MediaLibrary.d.ts +1 -0
  109. package/dist/admin/src/pages/App/MediaLibrary/components/BulkActions.d.ts +15 -0
  110. package/dist/admin/src/pages/App/MediaLibrary/components/BulkDeleteButton.d.ts +7 -0
  111. package/dist/admin/src/pages/App/MediaLibrary/components/BulkMoveButton.d.ts +15 -0
  112. package/dist/admin/src/pages/App/MediaLibrary/components/EmptyOrNoPermissions.d.ts +7 -0
  113. package/dist/admin/src/pages/App/MediaLibrary/components/Filters.d.ts +1 -0
  114. package/dist/admin/src/pages/App/MediaLibrary/components/Header.d.ts +22 -0
  115. package/dist/admin/src/pages/App/components/BulkActions.d.ts +15 -0
  116. package/dist/admin/src/pages/App/components/BulkDeleteButton.d.ts +10 -0
  117. package/dist/admin/src/pages/App/components/BulkMoveButton.d.ts +15 -0
  118. package/dist/admin/src/pages/App/components/EmptyOrNoPermissions.d.ts +8 -0
  119. package/dist/admin/src/pages/App/components/Filters.d.ts +1 -0
  120. package/dist/admin/src/pages/App/components/Header.d.ts +13 -0
  121. package/dist/admin/src/pages/SettingsPage/SettingsPage.d.ts +2 -0
  122. package/dist/admin/src/pages/SettingsPage/init.d.ts +2 -0
  123. package/dist/admin/src/pages/SettingsPage/reducer.d.ts +27 -0
  124. package/dist/admin/src/pluginId.d.ts +0 -1
  125. package/dist/admin/src/utils/findRecursiveFolderByValue.d.ts +3 -2
  126. package/dist/admin/src/utils/getAllowedFiles.d.ts +1 -2
  127. package/dist/admin/src/utils/getBreadcrumbDataCM.d.ts +1 -1
  128. package/dist/admin/src/utils/getBreadcrumbDataML.d.ts +1 -1
  129. package/dist/admin/src/utils/getFolderParents.d.ts +4 -3
  130. package/dist/admin/src/utils/moveElement.d.ts +1 -1
  131. package/dist/admin/src/utils/rawFileToAsset.d.ts +2 -2
  132. package/dist/admin/src/utils/toSingularTypes.d.ts +0 -1
  133. package/dist/admin/src/utils/typeFromMime.d.ts +1 -1
  134. package/dist/admin/src/utils/urlsToAssets.d.ts +3 -3
  135. package/dist/shared/contracts/files.d.ts +10 -6
  136. package/dist/shared/contracts/folders.d.ts +23 -2
  137. package/dist/shared/contracts/settings.d.ts +3 -2
  138. package/package.json +10 -10
  139. package/dist/_chunks/index-BHcSb0I3.js.map +0 -1
  140. package/dist/_chunks/index-Bi33Km2i.mjs.map +0 -1
  141. package/dist/_chunks/index-BjvAmZvH.mjs.map +0 -1
  142. package/dist/_chunks/index-D7YMYvKK.js.map +0 -1
  143. package/dist/_chunks/index-DlRn6eNH.js.map +0 -1
  144. package/dist/_chunks/index-GpFGwMho.mjs.map +0 -1
  145. package/dist/_chunks/index-KSVkjErL.mjs.map +0 -1
  146. package/dist/_chunks/index-l4hbqJYu.js.map +0 -1
  147. /package/dist/admin/src/hooks/utils/{rename-keys.d.ts → renameKeys.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
- const index = require("../_chunks/index-BHcSb0I3.js");
2
+ const index = require("../_chunks/index-B7NW5XiM.js");
3
3
  require("@strapi/icons");
4
4
  require("byte-size");
5
5
  require("date-fns");
6
6
  require("qs");
7
- module.exports = index.index;
7
+ module.exports = index.admin;
8
8
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- import { J } from "../_chunks/index-BjvAmZvH.mjs";
1
+ import { G } from "../_chunks/index-Clesg6BA.mjs";
2
2
  import "@strapi/icons";
3
3
  import "byte-size";
4
4
  import "date-fns";
5
5
  import "qs";
6
6
  export {
7
- J as default
7
+ G as default
8
8
  };
9
9
  //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,18 @@
1
+ import type { File } from '../../../../shared/contracts/files';
2
+ type FileSelectable = File & {
3
+ isSelectable?: boolean;
4
+ };
5
+ export type AllowedTypes = 'files' | 'images' | 'videos' | 'audios';
6
+ interface AssetCardProps {
7
+ asset: FileSelectable;
8
+ local?: boolean;
9
+ onSelect?: (asset: FileSelectable) => void;
10
+ onEdit?: (asset: FileSelectable) => void;
11
+ onRemove?: (asset: FileSelectable) => void;
12
+ isSelected?: boolean;
13
+ size?: 'S' | 'M';
14
+ allowedTypes?: AllowedTypes[];
15
+ alt?: string;
16
+ }
17
+ export declare const AssetCard: ({ asset, isSelected, onSelect, onEdit, onRemove, size, local, }: AssetCardProps) => import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ export interface AssetCardBaseProps {
3
+ children?: React.ReactNode;
4
+ extension: string;
5
+ isSelectable?: boolean;
6
+ name: string;
7
+ onSelect?: () => void;
8
+ onRemove?: () => void;
9
+ onEdit?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent> | React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
10
+ selected?: boolean;
11
+ subtitle?: string;
12
+ variant: 'Image' | 'Video' | 'Audio' | 'Doc';
13
+ }
14
+ export declare const AssetCardBase: ({ children, extension, isSelectable, name, onSelect, onRemove, onEdit, selected, subtitle, variant, }: AssetCardBaseProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { AssetCardBaseProps } from './AssetCardBase';
2
+ interface AudioAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {
3
+ size?: 'S' | 'M';
4
+ url: string;
5
+ }
6
+ export declare const AudioAssetCard: ({ name, url, size, selected, ...restProps }: AudioAssetCardProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ interface AudioPreviewProps {
2
+ alt: string;
3
+ url: string;
4
+ }
5
+ export declare const AudioPreview: ({ url, alt }: AudioPreviewProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,7 @@
1
+ import { AssetCardBaseProps } from './AssetCardBase';
2
+ interface DocAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {
3
+ size?: 'S' | 'M';
4
+ extension: string;
5
+ }
6
+ export declare const DocAssetCard: ({ name, extension, size, selected, ...restProps }: DocAssetCardProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { AssetCardBaseProps } from './AssetCardBase';
2
+ interface ImageAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {
3
+ height?: number;
4
+ width?: number;
5
+ size?: 'S' | 'M';
6
+ thumbnail: string;
7
+ alt: string;
8
+ updatedAt?: string;
9
+ isUrlSigned: boolean;
10
+ }
11
+ export declare const ImageAssetCard: ({ height, width, thumbnail, size, alt, isUrlSigned, selected, ...props }: ImageAssetCardProps) => import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,17 @@
1
+ import { AssetType } from '../../constants';
2
+ import type { RawFile, File } from '../../../../shared/contracts/files';
3
+ interface UploadingAssetCardProps {
4
+ onCancel: (rawFile: RawFile) => void;
5
+ onStatusChange: (status: string) => void;
6
+ addUploadedFiles: (files: File[]) => void;
7
+ folderId?: string | number | null;
8
+ asset: Asset;
9
+ id?: string;
10
+ size?: 'S' | 'M';
11
+ }
12
+ interface Asset extends File {
13
+ rawFile?: RawFile;
14
+ type?: AssetType;
15
+ }
16
+ export declare const UploadingAssetCard: ({ asset, onCancel, onStatusChange, addUploadedFiles, folderId, }: UploadingAssetCardProps) => import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -0,0 +1,8 @@
1
+ import { AssetCardBaseProps } from './AssetCardBase';
2
+ interface VideoAssetCardProps extends Omit<AssetCardBaseProps, 'variant' | 'children'> {
3
+ mime: string;
4
+ url: string;
5
+ size?: 'S' | 'M';
6
+ }
7
+ export declare const VideoAssetCard: ({ name, url, mime, size, selected, ...props }: VideoAssetCardProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ interface VideoPreviewProps {
2
+ alt: string;
3
+ url: string;
4
+ mime: string;
5
+ onLoadDuration?: (duration?: number) => void;
6
+ size?: 'S' | 'M';
7
+ }
8
+ export declare const VideoPreview: ({ url, mime, onLoadDuration, alt, ...props }: VideoPreviewProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,39 @@
1
+ import type { File as Asset } from '../../../../shared/contracts/files';
2
+ import type { Folder } from '../../../../shared/contracts/folders';
3
+ import type { AllowedTypes } from '../AssetCard/AssetCard';
4
+ export interface FileRow extends Asset {
5
+ folderURL?: string;
6
+ isSelectable?: boolean;
7
+ type?: string;
8
+ }
9
+ export interface FolderRow extends Folder {
10
+ folderURL?: string;
11
+ isSelectable?: boolean;
12
+ type?: string;
13
+ }
14
+ interface AssetContentProps {
15
+ allowedTypes?: AllowedTypes[];
16
+ folderId?: number | null;
17
+ onClose: () => void;
18
+ onAddAsset: (arg?: {
19
+ folderId: number | {
20
+ id: number;
21
+ } | null | undefined;
22
+ }) => void;
23
+ onAddFolder: ({ folderId }: {
24
+ folderId: number | {
25
+ id: number;
26
+ } | null | undefined;
27
+ }) => void;
28
+ onChangeFolder: (folderId: number | null) => void;
29
+ onValidate: (selectedAssets: Asset[]) => void;
30
+ multiple?: boolean;
31
+ trackedLocation?: string;
32
+ initiallySelectedAssets?: Asset[];
33
+ }
34
+ export declare const AssetContent: ({ allowedTypes, folderId, onClose, onAddAsset, onAddFolder, onChangeFolder, onValidate, multiple, initiallySelectedAssets, trackedLocation, }: AssetContentProps) => import("react/jsx-runtime").JSX.Element;
35
+ interface AssetDialogProps extends AssetContentProps {
36
+ open?: boolean;
37
+ }
38
+ export declare const AssetDialog: ({ open, onClose, ...restProps }: AssetDialogProps) => import("react/jsx-runtime").JSX.Element;
39
+ export {};
@@ -0,0 +1,63 @@
1
+ import { FolderRow, FileRow } from '../../TableList/TableList';
2
+ import type { File, Query, FilterCondition } from '../../../../../shared/contracts/files';
3
+ import type { Folder } from '../../../../../shared/contracts/folders';
4
+ import type { AllowedTypes } from '../../AssetCard/AssetCard';
5
+ type NumberKeyedObject = Record<number, string>;
6
+ type StringFilter = {
7
+ [key: string]: string;
8
+ };
9
+ type MimeFilter = {
10
+ [key: string]: string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;
11
+ };
12
+ export type FilterStructure = {
13
+ [key: string]: MimeFilter | StringFilter | undefined;
14
+ };
15
+ export type Filter = {
16
+ [key in 'mime' | 'createdAt' | 'updatedAt']?: {
17
+ [key in '$contains' | '$notContains' | '$eq' | '$not']?: string[] | string | {
18
+ $contains: string[];
19
+ };
20
+ } | undefined;
21
+ };
22
+ export interface FolderWithType extends Omit<Folder, 'children' | 'files'> {
23
+ folderURL?: string;
24
+ isSelectable?: boolean;
25
+ type?: string;
26
+ children?: Folder['children'] & {
27
+ count: number;
28
+ };
29
+ files?: Folder['files'] & {
30
+ count: number;
31
+ };
32
+ }
33
+ export interface FileWithType extends File {
34
+ folderURL?: string;
35
+ isSelectable?: boolean;
36
+ type?: string;
37
+ }
38
+ export interface BrowseStepProps {
39
+ allowedTypes?: AllowedTypes[];
40
+ assets: File[];
41
+ canCreate: boolean;
42
+ canRead: boolean;
43
+ folders?: FolderWithType[];
44
+ multiple?: boolean;
45
+ onAddAsset: () => void;
46
+ onChangeFilters: (filters: FilterCondition<string>[] | Filter[]) => void;
47
+ onChangeFolder: (id: number, path?: string) => void;
48
+ onChangePage: (page: number) => void;
49
+ onChangePageSize: (value: number) => void;
50
+ onChangeSort: (value: Query['sort'] | string) => void;
51
+ onChangeSearch: (_q?: Query['_q'] | null) => void;
52
+ onEditAsset: ((asset: FileWithType) => void) | null;
53
+ onEditFolder: ((folder: FolderRow) => void) | null;
54
+ onSelectAsset: (element: FileRow | FolderRow) => void;
55
+ onSelectAllAsset?: (checked: boolean | string, rows?: FolderRow[] | FileRow[]) => void;
56
+ queryObject: Query;
57
+ pagination: {
58
+ pageCount: number;
59
+ };
60
+ selectedAssets: FileWithType[] | FolderWithType[];
61
+ }
62
+ export declare const BrowseStep: ({ allowedTypes, assets: rawAssets, canCreate, canRead, folders, multiple, onAddAsset, onChangeFilters, onChangePage, onChangePageSize, onChangeSearch, onChangeSort, onChangeFolder, onEditAsset, onEditFolder, onSelectAllAsset, onSelectAsset, pagination, queryObject, selectedAssets, }: BrowseStepProps) => import("react/jsx-runtime").JSX.Element;
63
+ export {};
@@ -0,0 +1,23 @@
1
+ type NumberKeyedObject = Record<number, string>;
2
+ type StringFilter = {
3
+ [key: string]: string;
4
+ };
5
+ type MimeFilter = {
6
+ [key: string]: string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;
7
+ };
8
+ export type FilterStructure = {
9
+ [key: string]: MimeFilter | StringFilter | undefined;
10
+ };
11
+ export type Filter = {
12
+ [key in 'mime' | 'createdAt' | 'updatedAt']?: {
13
+ [key in '$contains' | '$notContains' | '$eq' | '$not']?: string[] | string | {
14
+ $contains: string[];
15
+ };
16
+ } | undefined;
17
+ };
18
+ interface FiltersProps {
19
+ appliedFilters: FilterStructure[];
20
+ onChangeFilters: (filters: Filter[]) => void;
21
+ }
22
+ export declare const Filters: ({ appliedFilters, onChangeFilters }: FiltersProps) => import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,6 @@
1
+ interface PageSizeProps {
2
+ onChangePageSize: (value: number) => void;
3
+ pageSize: number;
4
+ }
5
+ export declare const PageSize: ({ onChangePageSize, pageSize }: PageSizeProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export declare const usePagination: () => {
3
+ activePage: number;
4
+ pageCount: number;
5
+ };
6
+ interface PaginationProps {
7
+ activePage: number;
8
+ children: React.ReactNode;
9
+ label?: string;
10
+ pageCount: number;
11
+ }
12
+ export declare const Pagination: ({ children, activePage, pageCount, label, }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,9 @@
1
+ interface PaginationFooterProps {
2
+ activePage: number;
3
+ onChangePage: (page: number) => void;
4
+ pagination: {
5
+ pageCount: number;
6
+ };
7
+ }
8
+ export declare const PaginationFooter: ({ activePage, onChangePage, pagination: { pageCount }, }: PaginationFooterProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { Query } from '../../../../../../shared/contracts/files';
2
+ interface SearchAssetProps {
3
+ onChangeSearch: (_q: Query['_q'] | null) => void;
4
+ queryValue?: Query['_q'] | null;
5
+ }
6
+ export declare const SearchAsset: ({ onChangeSearch, queryValue }: SearchAssetProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const isSelectable: (allowedTypes: string[], mime?: string) => boolean;
@@ -0,0 +1,6 @@
1
+ interface DialogFooterProps {
2
+ onClose: () => void;
3
+ onValidate?: () => void;
4
+ }
5
+ export declare const DialogFooter: ({ onClose, onValidate }: DialogFooterProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import type { File } from '../../../../../shared/contracts/files';
2
+ interface SelectedStepProps {
3
+ onSelectAsset: (asset: File) => void;
4
+ selectedAssets: File[];
5
+ onReorderAsset?: (fromIndex: number, toIndex: number) => void;
6
+ }
7
+ export declare const SelectedStep: ({ selectedAssets, onSelectAsset, onReorderAsset, }: SelectedStepProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,13 @@
1
+ import type { File } from '../../../../shared/contracts/files';
2
+ import type { AllowedTypes } from '../AssetCard/AssetCard';
3
+ export interface AssetGridListProps {
4
+ allowedTypes?: AllowedTypes[];
5
+ assets: File[];
6
+ onEditAsset?: (asset: File) => void;
7
+ onSelectAsset: (asset: File) => void;
8
+ selectedAssets: File[];
9
+ size?: 'S' | 'M';
10
+ onReorderAsset?: (fromIndex: number, toIndex: number) => void;
11
+ title?: string | null;
12
+ }
13
+ export declare const AssetGridList: ({ allowedTypes, assets, onEditAsset, onSelectAsset, selectedAssets, size, onReorderAsset, title, }: AssetGridListProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ interface DraggableProps {
3
+ id: string | number;
4
+ index: number;
5
+ children: React.ReactNode;
6
+ moveItem: (fromIndex: number, toIndex: number) => void;
7
+ }
8
+ export declare const Draggable: ({ children, id, index, moveItem }: DraggableProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,14 @@
1
+ import { BreadcrumbsProps as BaseBreadcrumbsProps } from '@strapi/design-system';
2
+ import { MessageDescriptor } from 'react-intl';
3
+ export type CrumbDefinition = {
4
+ id?: number | null;
5
+ label?: MessageDescriptor | string;
6
+ href?: string;
7
+ path?: string;
8
+ };
9
+ export interface BreadcrumbsProps extends BaseBreadcrumbsProps {
10
+ breadcrumbs: Array<CrumbDefinition>;
11
+ currentFolderId?: number;
12
+ onChangeFolder?: (id: number, path?: string) => void;
13
+ }
14
+ export declare const Breadcrumbs: ({ breadcrumbs, onChangeFolder, currentFolderId, ...props }: BreadcrumbsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ interface CrumbSimpleMenuAsyncProps {
2
+ parentsToOmit?: number[];
3
+ currentFolderId?: number;
4
+ onChangeFolder?: (id: number, path?: string) => void;
5
+ }
6
+ export declare const CrumbSimpleMenuAsync: ({ parentsToOmit, currentFolderId, onChangeFolder, }: CrumbSimpleMenuAsyncProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,15 @@
1
+ import { File } from '../../../../shared/contracts/files';
2
+ import type { Folder } from '../../../../shared/contracts/folders';
3
+ interface FolderWithType extends Folder {
4
+ type: string;
5
+ }
6
+ interface FileWithType extends File {
7
+ type: string;
8
+ }
9
+ export interface BulkMoveDialogProps {
10
+ onClose: () => void;
11
+ selected?: Array<FolderWithType | FileWithType>;
12
+ currentFolder?: FolderWithType;
13
+ }
14
+ export declare const BulkMoveDialog: ({ onClose, selected, currentFolder }: BulkMoveDialogProps) => import("react/jsx-runtime").JSX.Element | null;
15
+ export {};
@@ -0,0 +1,8 @@
1
+ interface ContextInfoProps {
2
+ blocks: {
3
+ label: string;
4
+ value: string | number | null;
5
+ }[];
6
+ }
7
+ export declare const ContextInfo: ({ blocks }: ContextInfoProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const CopyLinkButton: ({ url }: {
2
+ url: string;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare const DialogHeader: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import type { File as FileDefinition, RawFile } from '../../../../shared/contracts/files';
2
+ export interface Asset extends Omit<FileDefinition, 'folder'> {
3
+ isLocal?: boolean;
4
+ rawFile?: RawFile;
5
+ folder?: FileDefinition['folder'] & {
6
+ id: number;
7
+ };
8
+ }
9
+ interface EditAssetContentProps {
10
+ asset?: Asset;
11
+ canUpdate?: boolean;
12
+ canCopyLink?: boolean;
13
+ canDownload?: boolean;
14
+ trackedLocation?: string;
15
+ onClose: (arg?: Asset | null | boolean) => void;
16
+ }
17
+ export declare const EditAssetContent: ({ onClose, asset, canUpdate, canCopyLink, canDownload, trackedLocation, }: EditAssetContentProps) => import("react/jsx-runtime").JSX.Element;
18
+ interface EditAssetDialogProps {
19
+ asset: Asset;
20
+ canUpdate?: boolean;
21
+ canCopyLink?: boolean;
22
+ canDownload?: boolean;
23
+ trackedLocation?: string;
24
+ open: boolean;
25
+ onClose: (arg?: Asset | null | boolean) => void;
26
+ }
27
+ export declare const EditAssetDialog: ({ open, onClose, canUpdate, canCopyLink, canDownload, ...restProps }: EditAssetDialogProps) => import("react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ interface AssetPreviewProps {
3
+ mime: string;
4
+ name: string;
5
+ url: string;
6
+ onLoad?: () => void;
7
+ }
8
+ export declare const AssetPreview: React.ForwardRefExoticComponent<AssetPreviewProps & React.RefAttributes<HTMLAudioElement | HTMLVideoElement | HTMLImageElement>>;
9
+ export {};
@@ -0,0 +1,7 @@
1
+ interface CroppingActionsProps {
2
+ onCancel: () => void;
3
+ onValidate: () => void;
4
+ onDuplicate?: () => void;
5
+ }
6
+ export declare const CroppingActions: ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { File as FileDefinition, RawFile } from '../../../../../shared/contracts/files';
2
+ import 'cropperjs/dist/cropper.css';
3
+ interface Asset extends Omit<FileDefinition, 'folder'> {
4
+ isLocal?: boolean;
5
+ rawFile?: RawFile;
6
+ folder?: FileDefinition['folder'] & {
7
+ id: number;
8
+ };
9
+ }
10
+ interface PreviewBoxProps {
11
+ asset: Asset;
12
+ canUpdate: boolean;
13
+ canCopyLink: boolean;
14
+ canDownload: boolean;
15
+ replacementFile?: File;
16
+ onDelete: (asset?: Asset | null) => void;
17
+ onCropFinish: () => void;
18
+ onCropStart: () => void;
19
+ onCropCancel: () => void;
20
+ trackedLocation?: string;
21
+ }
22
+ export declare const PreviewBox: ({ asset, canUpdate, canCopyLink, canDownload, onDelete, onCropFinish, onCropStart, onCropCancel, replacementFile, trackedLocation, }: PreviewBoxProps) => import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ export declare const RelativeBox: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<Omit<import("@strapi/design-system").TransientBoxProps & {
3
+ children?: import("react").ReactNode;
4
+ } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
5
+ ref?: any;
6
+ }, "ref"> & {
7
+ ref?: any;
8
+ }, never>> & Omit<import("@strapi/design-system").BoxComponent<"div">, keyof import("react").Component<any, {}, any>>;
9
+ export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
10
+ export declare const ActionRow: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<Omit<Omit<import("@strapi/design-system").FlexProps<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>>, "ref"> & import("react").RefAttributes<unknown>, "ref"> & {
11
+ ref?: ((instance: unknown) => void) | import("react").RefObject<unknown> | null | undefined;
12
+ }, never>> & Omit<(<C extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "div">(props: import("react").PropsWithoutRef<import("@strapi/design-system").FlexProps<C>> & import("react").RefAttributes<unknown>) => import("react").ReactNode), keyof import("react").Component<any, {}, any>>;
13
+ export declare const CroppingActionRow: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<Omit<Omit<import("@strapi/design-system").FlexProps<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>>, "ref"> & import("react").RefAttributes<unknown>, "ref"> & {
14
+ ref?: ((instance: unknown) => void) | import("react").RefObject<unknown> | null | undefined;
15
+ }, never>> & Omit<(<C extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "div">(props: import("react").PropsWithoutRef<import("@strapi/design-system").FlexProps<C>> & import("react").RefAttributes<unknown>) => import("react").ReactNode), keyof import("react").Component<any, {}, any>>;
16
+ export declare const BadgeOverride: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("@strapi/design-system").BadgeProps, never>> & Omit<({ active, size, textColor, backgroundColor, children, minWidth, ...props }: import("@strapi/design-system").BadgeProps) => import("react/jsx-runtime").JSX.Element, keyof import("react").Component<any, {}, any>>;
17
+ export declare const UploadProgressWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
@@ -0,0 +1,8 @@
1
+ import type { File } from '../../../../shared/contracts/files';
2
+ interface RemoveAssetDialogProps {
3
+ open: boolean;
4
+ onClose: (open: boolean | null) => void;
5
+ asset: File;
6
+ }
7
+ export declare const RemoveAssetDialog: ({ open, onClose, asset }: RemoveAssetDialogProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { ButtonProps } from '@strapi/design-system';
2
+ interface ReplaceMediaButtonProps extends ButtonProps {
3
+ acceptedMime: string;
4
+ onSelectMedia: (file?: File) => void;
5
+ trackedLocation?: string;
6
+ }
7
+ export declare const ReplaceMediaButton: ({ onSelectMedia, acceptedMime, trackedLocation, ...props }: ReplaceMediaButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { FolderDefinition } from '../../../../shared/contracts/folders';
2
+ export interface EditFolderDialogProps {
3
+ parentFolderId?: string | number | null;
4
+ location?: string;
5
+ folder?: FolderDefinition;
6
+ open?: boolean;
7
+ onClose: (payload?: {
8
+ created?: boolean | undefined;
9
+ } | boolean) => void;
10
+ }
11
+ export declare const EditFolderContent: ({ onClose, folder, location, parentFolderId, }: EditFolderDialogProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const EditFolderDialog: ({ open, onClose, ...restProps }: EditFolderDialogProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ interface EditFolderModalHeaderProps {
2
+ isEditing?: boolean;
3
+ }
4
+ export declare const EditFolderModalHeader: ({ isEditing }: EditFolderModalHeaderProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ interface RemoveFolderDialogProps {
2
+ onClose: () => void;
3
+ onConfirm: () => void;
4
+ open: boolean;
5
+ }
6
+ export declare const RemoveFolderDialog: ({ onClose, onConfirm, open }: RemoveFolderDialogProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ interface EmptyAssetGridProps {
2
+ count: number;
3
+ size: 'S' | 'M';
4
+ }
5
+ export declare const EmptyAssetGrid: ({ count, size }: EmptyAssetGridProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ interface EmptyAssetsProps {
3
+ action?: React.ReactNode;
4
+ icon?: React.ElementType;
5
+ content: string;
6
+ size?: 'S' | 'M';
7
+ count?: number;
8
+ }
9
+ export declare const EmptyAssets: ({ icon: Icon, content, action, size, count, }: EmptyAssetsProps) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,33 @@
1
+ type NumberKeyedObject = Record<number, string>;
2
+ type StringFilter = {
3
+ [key: string]: string;
4
+ };
5
+ type MimeFilter = {
6
+ [key: string]: string | NumberKeyedObject | Record<string, string | NumberKeyedObject> | undefined;
7
+ };
8
+ export type FilterStructure = {
9
+ [key: string]: MimeFilter | StringFilter | undefined;
10
+ };
11
+ export interface FilterListProps {
12
+ appliedFilters: FilterStructure[];
13
+ filtersSchema: {
14
+ name: string;
15
+ metadatas?: {
16
+ label?: string;
17
+ };
18
+ fieldSchema?: {
19
+ type?: string;
20
+ mainField?: {
21
+ name: string;
22
+ type: string;
23
+ };
24
+ options?: {
25
+ label: string;
26
+ value: string;
27
+ }[];
28
+ };
29
+ }[];
30
+ onRemoveFilter: (filters: FilterStructure[]) => void;
31
+ }
32
+ export declare const FilterList: ({ appliedFilters, filtersSchema, onRemoveFilter }: FilterListProps) => (import("react/jsx-runtime").JSX.Element | null)[];
33
+ export {};
@@ -0,0 +1,23 @@
1
+ import type { FilterStructure } from './FilterList';
2
+ type FilterTagAttribute = {
3
+ fieldSchema?: {
4
+ type?: string;
5
+ options?: {
6
+ label: string;
7
+ value: string;
8
+ }[];
9
+ };
10
+ metadatas?: {
11
+ label?: string;
12
+ };
13
+ name: string;
14
+ };
15
+ interface FilterTagProps {
16
+ attribute: FilterTagAttribute;
17
+ operator: string;
18
+ value: string;
19
+ filter: FilterStructure;
20
+ onClick: (filter: FilterStructure) => void;
21
+ }
22
+ export declare const FilterTag: ({ attribute, filter, onClick, operator, value }: FilterTagProps) => import("react/jsx-runtime").JSX.Element;
23
+ export {};