@aws-amplify/ui-react-storage 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/components/FileUploader/FileUploader.mjs +185 -0
- package/dist/esm/components/FileUploader/hooks/useFileUploader/actions.mjs +39 -0
- package/dist/esm/components/FileUploader/hooks/useFileUploader/reducer.mjs +93 -0
- package/dist/esm/components/FileUploader/hooks/useFileUploader/types.mjs +13 -0
- package/dist/esm/components/FileUploader/hooks/useFileUploader/useFileUploader.mjs +62 -0
- package/dist/esm/components/FileUploader/hooks/useUploadFiles/useUploadFiles.mjs +79 -0
- package/dist/esm/components/FileUploader/types.mjs +11 -0
- package/dist/esm/components/FileUploader/ui/Container/Container.mjs +8 -0
- package/dist/esm/components/FileUploader/ui/DropZone/DropZone.mjs +16 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileControl.mjs +23 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileDetails.mjs +12 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileList.mjs +44 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileRemoveButton.mjs +12 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileStatusMessage.mjs +28 -0
- package/dist/esm/components/FileUploader/ui/FileList/FileThumbnail.mjs +12 -0
- package/dist/esm/components/FileUploader/ui/FileListFooter/FileListFooter.mjs +13 -0
- package/dist/esm/components/FileUploader/ui/FileListHeader/FileListHeader.mjs +14 -0
- package/dist/esm/components/FileUploader/ui/FilePicker/FilePicker.mjs +9 -0
- package/dist/esm/components/FileUploader/utils/checkMaxFileSize.mjs +12 -0
- package/dist/esm/components/FileUploader/utils/displayText.mjs +39 -0
- package/dist/esm/components/FileUploader/utils/filterAllowedFiles.mjs +27 -0
- package/dist/esm/components/FileUploader/utils/getInput.mjs +39 -0
- package/dist/esm/components/FileUploader/utils/resolveFile.mjs +20 -0
- package/dist/esm/components/FileUploader/utils/uploadFile.mjs +26 -0
- package/dist/esm/components/StorageManager/StorageManager.mjs +4 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileDetails.mjs +1 -4
- package/dist/esm/components/StorageManager/utils/checkMaxFileSize.mjs +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/version.mjs +1 -1
- package/dist/index.js +723 -37
- package/dist/styles.css +23 -42
- package/dist/types/components/FileUploader/FileUploader.d.ts +15 -0
- package/dist/types/components/FileUploader/hooks/index.d.ts +2 -0
- package/dist/types/components/FileUploader/hooks/useFileUploader/actions.d.ts +22 -0
- package/dist/types/components/FileUploader/hooks/useFileUploader/index.d.ts +1 -0
- package/dist/types/components/FileUploader/hooks/useFileUploader/reducer.d.ts +2 -0
- package/dist/types/components/FileUploader/hooks/useFileUploader/types.d.ts +50 -0
- package/dist/types/components/FileUploader/hooks/useFileUploader/useFileUploader.d.ts +35 -0
- package/dist/types/components/FileUploader/hooks/useUploadFiles/index.d.ts +1 -0
- package/dist/types/components/FileUploader/hooks/useUploadFiles/useUploadFiles.d.ts +12 -0
- package/dist/types/components/FileUploader/index.d.ts +3 -0
- package/dist/types/components/FileUploader/types.d.ts +129 -0
- package/dist/types/components/FileUploader/ui/Container/Container.d.ts +6 -0
- package/dist/types/components/FileUploader/ui/Container/index.d.ts +1 -0
- package/dist/types/components/FileUploader/ui/DropZone/DropZone.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/DropZone/index.d.ts +2 -0
- package/dist/types/components/FileUploader/ui/DropZone/types.d.ts +13 -0
- package/dist/types/components/FileUploader/ui/FileList/FileControl.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/FileDetails.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/FileList.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/FileRemoveButton.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/FileStatusMessage.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/FileThumbnail.d.ts +3 -0
- package/dist/types/components/FileUploader/ui/FileList/index.d.ts +2 -0
- package/dist/types/components/FileUploader/ui/FileList/types.d.ts +51 -0
- package/dist/types/components/FileUploader/ui/FileListFooter/FileListFooter.d.ts +9 -0
- package/dist/types/components/FileUploader/ui/FileListFooter/index.d.ts +1 -0
- package/dist/types/components/FileUploader/ui/FileListHeader/FileListHeader.d.ts +10 -0
- package/dist/types/components/FileUploader/ui/FileListHeader/index.d.ts +1 -0
- package/dist/types/components/FileUploader/ui/FilePicker/FilePicker.d.ts +4 -0
- package/dist/types/components/FileUploader/ui/FilePicker/index.d.ts +1 -0
- package/dist/types/components/FileUploader/ui/index.d.ts +6 -0
- package/dist/types/components/FileUploader/utils/checkMaxFileSize.d.ts +5 -0
- package/dist/types/components/FileUploader/utils/displayText.d.ts +22 -0
- package/dist/types/components/FileUploader/utils/filterAllowedFiles.d.ts +1 -0
- package/dist/types/components/FileUploader/utils/getInput.d.ts +17 -0
- package/dist/types/components/FileUploader/utils/index.d.ts +5 -0
- package/dist/types/components/FileUploader/utils/resolveFile.d.ts +9 -0
- package/dist/types/components/FileUploader/utils/uploadFile.d.ts +32 -0
- package/dist/types/components/StorageManager/utils/index.d.ts +0 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
- package/dist/esm/components/StorageManager/utils/humanFileSize.mjs +0 -29
- package/dist/types/components/StorageManager/utils/humanFileSize.d.ts +0 -11
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DisplayTextTemplate } from '@aws-amplify/ui';
|
|
2
|
+
export type FileUploaderDisplayText = DisplayTextTemplate<{
|
|
3
|
+
getFilesUploadedText?: (count: number) => string;
|
|
4
|
+
getFileSizeErrorText?: (sizeText: string) => string;
|
|
5
|
+
getRemainingFilesText?: (count: number) => string;
|
|
6
|
+
getSelectedFilesText?: (count: number) => string;
|
|
7
|
+
getUploadingText?: (percentage: number) => string;
|
|
8
|
+
getUploadButtonText?: (count: number) => string;
|
|
9
|
+
getMaxFilesErrorText?: (count: number) => string;
|
|
10
|
+
getErrorText?: (message: string) => string;
|
|
11
|
+
doneButtonText?: string;
|
|
12
|
+
clearAllButtonText?: string;
|
|
13
|
+
extensionNotAllowedText?: string;
|
|
14
|
+
browseFilesText?: string;
|
|
15
|
+
dropFilesText?: string;
|
|
16
|
+
pauseButtonText?: string;
|
|
17
|
+
resumeButtonText?: string;
|
|
18
|
+
uploadSuccessfulText?: string;
|
|
19
|
+
getPausedText?: (percentage: number) => string;
|
|
20
|
+
}>;
|
|
21
|
+
export type FileUploaderDisplayTextDefault = Required<FileUploaderDisplayText>;
|
|
22
|
+
export declare const defaultFileUploaderDisplayText: FileUploaderDisplayTextDefault;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const filterAllowedFiles: (files: File[], acceptedFileTypes?: string[]) => File[];
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StorageAccessLevel } from '@aws-amplify/core';
|
|
2
|
+
import { UploadDataWithPathInput, UploadDataInput } from 'aws-amplify/storage';
|
|
3
|
+
import { ProcessFile } from '../types';
|
|
4
|
+
import { PathCallback, PathInput } from './uploadFile';
|
|
5
|
+
export interface GetInputParams {
|
|
6
|
+
accessLevel: StorageAccessLevel | undefined;
|
|
7
|
+
file: File;
|
|
8
|
+
key: string;
|
|
9
|
+
onProcessFileSuccess: (input: {
|
|
10
|
+
processedKey: string;
|
|
11
|
+
}) => void;
|
|
12
|
+
onProgress: NonNullable<UploadDataWithPathInput['options']>['onProgress'];
|
|
13
|
+
path: string | PathCallback | undefined;
|
|
14
|
+
processFile: ProcessFile | undefined;
|
|
15
|
+
useAccelerateEndpoint?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const getInput: ({ accessLevel, file, key, onProcessFileSuccess, onProgress, path, processFile, useAccelerateEndpoint, }: GetInputParams) => () => Promise<PathInput | UploadDataInput>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { checkMaxFileSize } from './checkMaxFileSize';
|
|
2
|
+
export { defaultFileUploaderDisplayText, FileUploaderDisplayText, FileUploaderDisplayTextDefault, } from './displayText';
|
|
3
|
+
export { filterAllowedFiles } from './filterAllowedFiles';
|
|
4
|
+
export { getInput } from './getInput';
|
|
5
|
+
export { PathCallback, TaskEvent, TaskHandler, uploadFile, UploadTask, } from './uploadFile';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ProcessFile, ProcessFileParams } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Utility function that takes the processFile prop, along with a file a key
|
|
4
|
+
* and returns a Promise that resolves to { file, key, ..rest }
|
|
5
|
+
* regardless if processFile is defined and if it is sync or async
|
|
6
|
+
*/
|
|
7
|
+
export declare const resolveFile: ({ processFile, ...input }: ProcessFileParams & {
|
|
8
|
+
processFile?: ProcessFile | undefined;
|
|
9
|
+
}) => Promise<ProcessFileParams>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { UploadDataInput, UploadDataWithPathOutput, UploadDataWithPathInput, UploadDataOutput } from 'aws-amplify/storage';
|
|
2
|
+
/**
|
|
3
|
+
* Callback provided an input containing the current `identityId`
|
|
4
|
+
*
|
|
5
|
+
* @param {{identityId: string | undefined}} input - Input parameters
|
|
6
|
+
* @returns target S3 bucket key
|
|
7
|
+
*/
|
|
8
|
+
export type PathCallback = (input: {
|
|
9
|
+
identityId: string | undefined;
|
|
10
|
+
}) => string;
|
|
11
|
+
export type UploadTask = UploadDataOutput | UploadDataWithPathOutput;
|
|
12
|
+
export interface TaskEvent {
|
|
13
|
+
id: string;
|
|
14
|
+
uploadTask: UploadTask;
|
|
15
|
+
}
|
|
16
|
+
export type PathInput = Omit<UploadDataWithPathInput, 'path'> & {
|
|
17
|
+
path: string;
|
|
18
|
+
};
|
|
19
|
+
export type TaskHandler = (event: TaskEvent) => void;
|
|
20
|
+
export interface UploadFileProps {
|
|
21
|
+
input: () => Promise<PathInput | UploadDataInput>;
|
|
22
|
+
onComplete?: (result: Awaited<(UploadDataWithPathOutput | UploadDataOutput)['result']>) => void;
|
|
23
|
+
onError?: (event: {
|
|
24
|
+
key: string;
|
|
25
|
+
error: Error;
|
|
26
|
+
}) => void;
|
|
27
|
+
onStart?: (event: {
|
|
28
|
+
key: string;
|
|
29
|
+
uploadTask: UploadTask;
|
|
30
|
+
}) => void;
|
|
31
|
+
}
|
|
32
|
+
export declare function uploadFile({ input, onError, onStart, onComplete, }: UploadFileProps): Promise<UploadDataWithPathOutput | UploadDataOutput>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export { checkMaxFileSize } from './checkMaxFileSize';
|
|
2
2
|
export { defaultStorageManagerDisplayText, StorageManagerDisplayText, StorageManagerDisplayTextDefault, } from './displayText';
|
|
3
3
|
export { filterAllowedFiles } from './filterAllowedFiles';
|
|
4
|
-
export { humanFileSize } from './humanFileSize';
|
|
5
4
|
export { getInput } from './getInput';
|
|
6
5
|
export { PathCallback, TaskEvent, TaskHandler, uploadFile, UploadTask, } from './uploadFile';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
export { FileUploader, FileUploaderProps } from './FileUploader';
|
|
1
2
|
export { StorageImage, StorageImageProps } from './StorageImage';
|
|
2
3
|
export { StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, FileListFooterProps, } from './StorageManager';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { StorageImage, StorageImageProps, StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, FileListFooterProps, } from './components';
|
|
1
|
+
export { FileUploader, FileUploaderProps, StorageImage, StorageImageProps, StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, FileListFooterProps, } from './components';
|
package/dist/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "3.
|
|
1
|
+
export declare const VERSION = "3.3.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-storage",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/esm/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"typecheck": "tsc --noEmit"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@aws-amplify/ui": "6.
|
|
43
|
-
"@aws-amplify/ui-react": "6.2.
|
|
44
|
-
"@aws-amplify/ui-react-core": "3.0.
|
|
42
|
+
"@aws-amplify/ui": "6.3.0",
|
|
43
|
+
"@aws-amplify/ui-react": "6.2.2",
|
|
44
|
+
"@aws-amplify/ui-react-core": "3.0.20",
|
|
45
45
|
"lodash": "4.17.21",
|
|
46
46
|
"tslib": "^2.5.2"
|
|
47
47
|
},
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format bytes as human-readable text.
|
|
3
|
-
*
|
|
4
|
-
* @param bytes Number of bytes.
|
|
5
|
-
* @param si True to use metric (SI) units, aka powers of 1000. False to use
|
|
6
|
-
* binary (IEC), aka powers of 1024.
|
|
7
|
-
* @param dp Number of decimal places to display.
|
|
8
|
-
*
|
|
9
|
-
* @return Formatted string.
|
|
10
|
-
*/
|
|
11
|
-
function humanFileSize(bytes, si = false, dp = 1) {
|
|
12
|
-
const thresh = si ? 1000 : 1024;
|
|
13
|
-
if (Math.abs(bytes) < thresh) {
|
|
14
|
-
return `${bytes} B`;
|
|
15
|
-
}
|
|
16
|
-
const units = si
|
|
17
|
-
? ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
|
|
18
|
-
: ['KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
|
|
19
|
-
let unit = -1;
|
|
20
|
-
const range = 10 ** dp;
|
|
21
|
-
do {
|
|
22
|
-
bytes /= thresh;
|
|
23
|
-
++unit;
|
|
24
|
-
} while (Math.round(Math.abs(bytes) * range) / range >= thresh &&
|
|
25
|
-
unit < units.length - 1);
|
|
26
|
-
return bytes.toFixed(dp) + ' ' + units[unit];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export { humanFileSize };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format bytes as human-readable text.
|
|
3
|
-
*
|
|
4
|
-
* @param bytes Number of bytes.
|
|
5
|
-
* @param si True to use metric (SI) units, aka powers of 1000. False to use
|
|
6
|
-
* binary (IEC), aka powers of 1024.
|
|
7
|
-
* @param dp Number of decimal places to display.
|
|
8
|
-
*
|
|
9
|
-
* @return Formatted string.
|
|
10
|
-
*/
|
|
11
|
-
export declare function humanFileSize(bytes: number, si?: boolean, dp?: number): string;
|