@aws-amplify/ui-react-storage 0.0.0-studio-41bd6b8-20230725225637 → 0.0.0-studio-console-80bb2e2-20230921222703
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/StorageImage/StorageImage.mjs +1 -0
- package/dist/esm/components/StorageManager/StorageManager.mjs +1 -0
- package/dist/esm/components/StorageManager/hooks/useStorageManager/actions.mjs +1 -0
- package/dist/esm/components/StorageManager/hooks/useStorageManager/reducer.mjs +1 -0
- package/dist/esm/components/StorageManager/hooks/useStorageManager/types.mjs +1 -0
- package/dist/esm/components/StorageManager/hooks/useStorageManager/useStorageManager.mjs +1 -0
- package/dist/esm/components/StorageManager/hooks/useUploadFiles/useUploadFiles.mjs +1 -0
- package/dist/esm/components/StorageManager/types.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/DropZone/DropZone.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileControl.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileDetails.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileList.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileRemoveButton.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileStatusMessage.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileList/FileThumbnail.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileListFooter/FileListFooter.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileListHeader/FileListHeader.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FilePicker/FilePicker.mjs +1 -0
- package/dist/esm/components/StorageManager/utils/checkMaxFileSize.mjs +1 -0
- package/dist/esm/components/StorageManager/utils/{displayText.js → displayText.mjs} +1 -1
- package/dist/esm/components/StorageManager/utils/humanFileSize.mjs +1 -0
- package/dist/esm/components/StorageManager/utils/uploadFile.mjs +1 -0
- package/dist/esm/index.mjs +1 -0
- package/dist/index.js +1 -1
- package/dist/styles.css +1603 -616
- package/dist/types/components/StorageManager/StorageManager.d.ts +2 -1
- package/dist/types/components/StorageManager/hooks/index.d.ts +0 -1
- package/dist/types/components/StorageManager/hooks/useStorageManager/actions.d.ts +2 -1
- package/dist/types/components/StorageManager/hooks/useStorageManager/types.d.ts +5 -0
- package/dist/types/components/StorageManager/hooks/useStorageManager/useStorageManager.d.ts +3 -1
- package/dist/types/components/StorageManager/index.d.ts +1 -1
- package/dist/types/components/StorageManager/types.d.ts +7 -1
- package/dist/types/components/StorageManager/ui/FileListFooter/FileListFooter.d.ts +9 -0
- package/dist/types/components/StorageManager/ui/FileListFooter/index.d.ts +1 -0
- package/dist/types/components/StorageManager/ui/FileListHeader/FileListHeader.d.ts +4 -3
- package/dist/types/components/StorageManager/ui/index.d.ts +1 -0
- package/dist/types/components/StorageManager/utils/displayText.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +10 -10
- package/dist/esm/components/StorageImage/StorageImage.js +0 -1
- package/dist/esm/components/StorageManager/StorageManager.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useDropZone/useDropZone.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/actions.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/reducer.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/types.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/useStorageManager.js +0 -1
- package/dist/esm/components/StorageManager/hooks/useUploadFiles/useUploadFiles.js +0 -1
- package/dist/esm/components/StorageManager/types.js +0 -1
- package/dist/esm/components/StorageManager/ui/DropZone/DropZone.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileControl.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileDetails.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileList.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileRemoveButton.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileStatusMessage.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileList/FileThumbnail.js +0 -1
- package/dist/esm/components/StorageManager/ui/FileListHeader/FileListHeader.js +0 -1
- package/dist/esm/components/StorageManager/ui/FilePicker/FilePicker.js +0 -1
- package/dist/esm/components/StorageManager/utils/checkMaxFileSize.js +0 -1
- package/dist/esm/components/StorageManager/utils/humanFileSize.js +0 -1
- package/dist/esm/components/StorageManager/utils/uploadFile.js +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/types/components/StorageManager/hooks/useDropZone/index.d.ts +0 -1
- package/dist/types/components/StorageManager/hooks/useDropZone/useDropZone.d.ts +0 -13
- /package/dist/esm/components/StorageManager/hooks/useUploadFiles/{resolveFile.js → resolveFile.mjs} +0 -0
- /package/dist/esm/components/StorageManager/ui/Container/{Container.js → Container.mjs} +0 -0
- /package/dist/esm/components/StorageManager/utils/{filterAllowedFiles.js → filterAllowedFiles.mjs} +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { StorageManagerProps, StorageManagerHandle } from './types';
|
|
3
|
-
import { Container, DropZone, FileList, FileListHeader, FilePicker } from './ui';
|
|
3
|
+
import { Container, DropZone, FileList, FileListHeader, FileListFooter, FilePicker } from './ui';
|
|
4
4
|
declare const StorageManager: React.ForwardRefExoticComponent<StorageManagerProps & React.RefAttributes<StorageManagerHandle>> & {
|
|
5
5
|
Container: typeof Container;
|
|
6
6
|
DropZone: typeof DropZone;
|
|
7
7
|
FileList: typeof FileList;
|
|
8
8
|
FileListHeader: typeof FileListHeader;
|
|
9
|
+
FileListFooter: typeof FileListFooter;
|
|
9
10
|
FilePicker: typeof FilePicker;
|
|
10
11
|
};
|
|
11
12
|
export { StorageManager };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { UploadTask } from '@aws-amplify/storage';
|
|
2
2
|
import { FileStatus } from '../../types';
|
|
3
3
|
import { Action, AddFilesActionParams } from './types';
|
|
4
|
-
export declare const addFilesAction: ({ files, getFileErrorMessage, }: AddFilesActionParams) => Action;
|
|
4
|
+
export declare const addFilesAction: ({ files, status, getFileErrorMessage, }: AddFilesActionParams) => Action;
|
|
5
5
|
export declare const clearFilesAction: () => Action;
|
|
6
|
+
export declare const queueFilesAction: () => Action;
|
|
6
7
|
export declare const setUploadingFileAction: ({ id, uploadTask, }: {
|
|
7
8
|
id: string;
|
|
8
9
|
uploadTask: UploadTask | undefined;
|
|
@@ -6,6 +6,7 @@ export interface UseStorageManagerState {
|
|
|
6
6
|
export declare enum StorageManagerActionTypes {
|
|
7
7
|
ADD_FILES = "ADD_FILES",
|
|
8
8
|
CLEAR_FILES = "CLEAR_FILES",
|
|
9
|
+
QUEUE_FILES = "QUEUE_FILES",
|
|
9
10
|
SET_STATUS = "SET_STATUS",
|
|
10
11
|
SET_STATUS_UPLOADING = "SET_STATUS_UPLOADING",
|
|
11
12
|
SET_UPLOAD_PROGRESS = "SET_UPLOAD_PROGRESS",
|
|
@@ -15,6 +16,7 @@ export type GetFileErrorMessage = (file: File) => string;
|
|
|
15
16
|
export type Action = {
|
|
16
17
|
type: StorageManagerActionTypes.ADD_FILES;
|
|
17
18
|
files: File[];
|
|
19
|
+
status: FileStatus;
|
|
18
20
|
getFileErrorMessage: GetFileErrorMessage;
|
|
19
21
|
} | {
|
|
20
22
|
type: StorageManagerActionTypes.CLEAR_FILES;
|
|
@@ -22,6 +24,8 @@ export type Action = {
|
|
|
22
24
|
type: StorageManagerActionTypes.SET_STATUS;
|
|
23
25
|
id: string;
|
|
24
26
|
status: FileStatus;
|
|
27
|
+
} | {
|
|
28
|
+
type: StorageManagerActionTypes.QUEUE_FILES;
|
|
25
29
|
} | {
|
|
26
30
|
type: StorageManagerActionTypes.SET_STATUS_UPLOADING;
|
|
27
31
|
id: string;
|
|
@@ -36,5 +40,6 @@ export type Action = {
|
|
|
36
40
|
};
|
|
37
41
|
export interface AddFilesActionParams {
|
|
38
42
|
files: File[];
|
|
43
|
+
status: FileStatus;
|
|
39
44
|
getFileErrorMessage: GetFileErrorMessage;
|
|
40
45
|
}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { UploadTask } from '@aws-amplify/storage';
|
|
2
|
-
import { StorageFiles, DefaultFile } from '../../types';
|
|
2
|
+
import { StorageFiles, FileStatus, DefaultFile } from '../../types';
|
|
3
3
|
import { GetFileErrorMessage } from './types';
|
|
4
4
|
export interface UseStorageManager {
|
|
5
5
|
addFiles: (params: {
|
|
6
6
|
files: File[];
|
|
7
|
+
status: FileStatus;
|
|
7
8
|
getFileErrorMessage: GetFileErrorMessage;
|
|
8
9
|
}) => void;
|
|
9
10
|
clearFiles: () => void;
|
|
11
|
+
queueFiles: () => void;
|
|
10
12
|
setUploadingFile: (params: {
|
|
11
13
|
id: string;
|
|
12
14
|
uploadTask?: UploadTask;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { StorageManager } from './StorageManager';
|
|
2
2
|
export { StorageManagerProps } from './types';
|
|
3
|
-
export { DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, } from './ui';
|
|
3
|
+
export { DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, FileListFooterProps, } from './ui';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { StorageAccessLevel, UploadTask } from '@aws-amplify/storage';
|
|
3
|
-
import { ContainerProps, DropZoneProps, FileListHeaderProps, FileListProps, FilePickerProps } from './ui';
|
|
3
|
+
import { ContainerProps, DropZoneProps, FileListHeaderProps, FileListFooterProps, FileListProps, FilePickerProps } from './ui';
|
|
4
4
|
import { StorageManagerDisplayText } from './utils';
|
|
5
5
|
export declare enum FileStatus {
|
|
6
|
+
ADDED = "added",
|
|
6
7
|
QUEUED = "queued",
|
|
7
8
|
UPLOADING = "uploading",
|
|
8
9
|
PAUSED = "paused",
|
|
@@ -37,6 +38,10 @@ export interface StorageManagerProps {
|
|
|
37
38
|
* @see https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js/
|
|
38
39
|
*/
|
|
39
40
|
accessLevel: StorageAccessLevel;
|
|
41
|
+
/**
|
|
42
|
+
* Determines if the upload will automatically start after a file is selected, default value: true
|
|
43
|
+
*/
|
|
44
|
+
autoUpload?: boolean;
|
|
40
45
|
/**
|
|
41
46
|
* Component overrides
|
|
42
47
|
*/
|
|
@@ -46,6 +51,7 @@ export interface StorageManagerProps {
|
|
|
46
51
|
FileList?: React.ComponentType<FileListProps>;
|
|
47
52
|
FilePicker?: React.ComponentType<FilePickerProps>;
|
|
48
53
|
FileListHeader?: React.ComponentType<FileListHeaderProps>;
|
|
54
|
+
FileListFooter?: React.ComponentType<FileListFooterProps>;
|
|
49
55
|
};
|
|
50
56
|
/**
|
|
51
57
|
* List of default files already uploaded
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { StorageManagerDisplayText } from '../../utils';
|
|
3
|
+
export interface FileListFooterProps {
|
|
4
|
+
remainingFilesCount: number;
|
|
5
|
+
displayText: StorageManagerDisplayText;
|
|
6
|
+
onClearAll: () => void;
|
|
7
|
+
onUploadAll: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function FileListFooter({ displayText, remainingFilesCount, onClearAll, onUploadAll, }: FileListFooterProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileListFooter, FileListFooterProps } from './FileListFooter';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { StorageManagerDisplayText } from '../../utils/displayText';
|
|
3
3
|
export interface FileListHeaderProps {
|
|
4
|
+
allUploadsSuccessful: boolean;
|
|
5
|
+
displayText: StorageManagerDisplayText;
|
|
4
6
|
fileCount: number;
|
|
5
7
|
remainingFilesCount: number;
|
|
6
|
-
|
|
7
|
-
allUploadsSuccessful: boolean;
|
|
8
|
+
selectedFilesCount?: number;
|
|
8
9
|
}
|
|
9
|
-
export declare function FileListHeader({ fileCount, remainingFilesCount,
|
|
10
|
+
export declare function FileListHeader({ allUploadsSuccessful, displayText, fileCount, remainingFilesCount, selectedFilesCount, }: FileListHeaderProps): JSX.Element;
|
|
@@ -2,4 +2,5 @@ export { Container, ContainerProps } from './Container';
|
|
|
2
2
|
export { DropZone, DropZoneProps } from './DropZone';
|
|
3
3
|
export { FileList, FileListProps } from './FileList';
|
|
4
4
|
export { FileListHeader, FileListHeaderProps } from './FileListHeader';
|
|
5
|
+
export { FileListFooter, FileListFooterProps } from './FileListFooter';
|
|
5
6
|
export { FilePicker, FilePickerProps } from './FilePicker';
|
|
@@ -2,6 +2,7 @@ export declare const defaultStorageManagerDisplayText: {
|
|
|
2
2
|
getFilesUploadedText(count: number): string;
|
|
3
3
|
getFileSizeErrorText(sizeText: string): string;
|
|
4
4
|
getRemainingFilesText(count: number): string;
|
|
5
|
+
getSelectedFilesText(count: number): string;
|
|
5
6
|
getUploadingText(percentage: number): string;
|
|
6
7
|
getUploadButtonText(count: number): string;
|
|
7
8
|
getMaxFilesErrorText(count: number): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { StorageImage, StorageImageProps } from './StorageImage';
|
|
2
|
-
export { StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, } from './StorageManager';
|
|
2
|
+
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, } from './components';
|
|
1
|
+
export { StorageImage, StorageImageProps, StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, FileListFooterProps, } from './components';
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-storage",
|
|
3
|
-
"version": "0.0.0-studio-
|
|
3
|
+
"version": "0.0.0-studio-console-80bb2e2-20230921222703",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
|
-
"module": "dist/esm/index.
|
|
5
|
+
"module": "dist/esm/index.mjs",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
8
|
"types": "./dist/types/index.d.ts",
|
|
9
|
-
"import": "./dist/esm/index.
|
|
9
|
+
"import": "./dist/esm/index.mjs",
|
|
10
10
|
"require": "./dist/index.js"
|
|
11
11
|
},
|
|
12
12
|
"./styles.css": "./dist/styles.css"
|
|
@@ -28,26 +28,27 @@
|
|
|
28
28
|
"scripts": {
|
|
29
29
|
"build": "yarn build:rollup",
|
|
30
30
|
"build:rollup": "rollup --config",
|
|
31
|
+
"check:esm": "node --input-type=module --eval 'import \"@aws-amplify/ui-react-storage\"'",
|
|
31
32
|
"clean": "rimraf dist node_modules",
|
|
32
33
|
"dev": "yarn build:rollup --watch",
|
|
33
34
|
"lint": "yarn typecheck && eslint src --ext .js,.ts,.tsx",
|
|
34
35
|
"prebuild": "rimraf dist",
|
|
35
36
|
"size": "yarn size-limit",
|
|
36
37
|
"test": "jest",
|
|
37
|
-
"test:ci": "yarn test",
|
|
38
|
+
"test:ci": "yarn test && yarn check:esm",
|
|
38
39
|
"test:watch": "yarn test --watch",
|
|
39
40
|
"typecheck": "tsc --noEmit"
|
|
40
41
|
},
|
|
41
42
|
"dependencies": {
|
|
42
|
-
"@aws-amplify/ui": "0.0.0-studio-
|
|
43
|
-
"@aws-amplify/ui-react": "0.0.0-studio-
|
|
44
|
-
"@aws-amplify/ui-react-core": "0.0.0-studio-
|
|
43
|
+
"@aws-amplify/ui": "0.0.0-studio-console-80bb2e2-20230921222703",
|
|
44
|
+
"@aws-amplify/ui-react": "0.0.0-studio-console-80bb2e2-20230921222703",
|
|
45
|
+
"@aws-amplify/ui-react-core": "0.0.0-studio-console-80bb2e2-20230921222703",
|
|
45
46
|
"classnames": "2.3.1",
|
|
46
47
|
"lodash": "4.17.21",
|
|
47
48
|
"tslib": "2.4.1"
|
|
48
49
|
},
|
|
49
50
|
"peerDependencies": {
|
|
50
|
-
"aws-amplify": "
|
|
51
|
+
"aws-amplify": "^5.0.1",
|
|
51
52
|
"react": ">= 16.14.0",
|
|
52
53
|
"react-dom": ">= 16.14.0"
|
|
53
54
|
},
|
|
@@ -58,7 +59,6 @@
|
|
|
58
59
|
},
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@aws-amplify/eslint-config-amplify-ui": "0.0.0",
|
|
61
|
-
"@rollup/plugin-commonjs": "^22.0.1",
|
|
62
62
|
"@rollup/plugin-typescript": "^8.3.1",
|
|
63
63
|
"@size-limit/preset-big-lib": "^8.2.6",
|
|
64
64
|
"@testing-library/jest-dom": "^5.14.1",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"size-limit": [
|
|
88
88
|
{
|
|
89
89
|
"name": "StorageManager",
|
|
90
|
-
"path": "dist/esm/index.
|
|
90
|
+
"path": "dist/esm/index.mjs",
|
|
91
91
|
"import": "{ StorageManager }",
|
|
92
92
|
"limit": "120 kB"
|
|
93
93
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__rest as e}from"tslib";import*as r from"react";import a from"classnames";import{Image as t,ComponentClassNames as o}from"@aws-amplify/ui-react";import{useStorageURL as s}from"@aws-amplify/ui-react/internal";const c=c=>{var{accessLevel:i,className:m,fallbackSrc:l,identityId:n,imgKey:f,onStorageGetError:p}=c,g=e(c,["accessLevel","className","fallbackSrc","identityId","imgKey","onStorageGetError"]);const y=r.useMemo((()=>({level:i,identityId:n})),[i,n]),d=s({key:f,options:y,fallbackURL:l,onStorageGetError:p});return r.createElement(t,Object.assign({},g,{className:a(o.StorageImage,m),src:d}))};export{c as StorageImage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import*as e from"react";import{Logger as i}from"aws-amplify";import{ComponentClassNames as s,VisuallyHidden as r}from"@aws-amplify/ui-react";import{useDropZone as o}from"./hooks/useDropZone/useDropZone.js";import{useStorageManager as t}from"./hooks/useStorageManager/useStorageManager.js";import{useUploadFiles as l}from"./hooks/useUploadFiles/useUploadFiles.js";import{FileStatus as a}from"./types.js";import{Container as n}from"./ui/Container/Container.js";import{DropZone as p}from"./ui/DropZone/DropZone.js";import{FileList as c}from"./ui/FileList/FileList.js";import{FileListHeader as m}from"./ui/FileListHeader/FileListHeader.js";import{FilePicker as u}from"./ui/FilePicker/FilePicker.js";import{checkMaxFileSize as d}from"./utils/checkMaxFileSize.js";import{defaultStorageManagerDisplayText as f}from"./utils/displayText.js";import{filterAllowedFiles as F}from"./utils/filterAllowedFiles.js";import"tslib";const g=new i("Storage.StorageManager");const U=Object.assign(e.forwardRef((function({acceptedFileTypes:i=[],accessLevel:U,defaultFiles:h,displayText:j,isResumable:x=!1,maxFileCount:S,maxFileSize:y,onUploadError:E,onUploadSuccess:k,onFileRemove:C,onUploadStart:L,showThumbnails:T=!0,processFile:b,components:v,provider:D,path:P},w){U&&S||g.warn("FileUploader requires accessLevel and maxFileCount props");const M=Object.assign({Container:n,DropZone:p,FileList:c,FilePicker:u,FileListHeader:m},v),R=void 0===S||"number"==typeof S&&S>1,O=Object.assign(Object.assign({},f),j),{getFileSizeErrorText:Z}=O,H=e=>d({file:e,maxFileSize:y,getFileSizeErrorText:Z}),{addFiles:z,clearFiles:A,files:I,removeUpload:$,setUploadingFile:q,setUploadPaused:N,setUploadProgress:B,setUploadSuccess:G,setUploadResumed:J}=t(h);e.useImperativeHandle(w,(()=>({clearFiles:A})));const K=o({onChange:e=>{const{files:s}=e.dataTransfer;if(!s||0===s.length)return;const r=F(Array.from(s),i);z({files:r,getFileErrorMessage:H})}});l({accessLevel:U,files:I,isResumable:x,maxFileCount:S,onUploadError:E,onUploadSuccess:k,onUploadStart:L,setUploadingFile:q,setUploadProgress:B,setUploadSuccess:G,processFile:b,provider:D,path:P});const Q=0!==I.length&&I.every((e=>(null==e?void 0:e.status)===a.UPLOADED)),V=I.filter((e=>e.progress<100)).length>S,W=I.filter((e=>(null==e?void 0:e.status)===a.UPLOADED)).length,X=I.length-W,Y=I.length>0,_=e.useRef(null);return e.createElement(M.Container,{className:`${s.StorageManager} ${Y?s.StorageManagerPreviewer:""}`},e.createElement(M.DropZone,Object.assign({},K,{displayText:O}),e.createElement(e.Fragment,null,e.createElement(M.FilePicker,{onClick:function(){_.current&&(_.current.click(),_.current.value="")}},O.browseFilesText),e.createElement(r,null,e.createElement("input",{type:"file",tabIndex:-1,ref:_,onChange:e=>{const{files:i}=e.target;i&&0!==i.length&&z({files:Array.from(i),getFileErrorMessage:H})},multiple:R,accept:i.join(",")})))),Y?e.createElement(M.FileListHeader,{allUploadsSuccessful:Q,displayText:O,fileCount:I.length,remainingFilesCount:X}):null,e.createElement(M.FileList,{displayText:O,files:I,isResumable:x,onCancelUpload:({id:e,uploadTask:i})=>{i.pause(),$({id:e})},onDeleteUpload:({id:e})=>{if($({id:e}),"function"==typeof C){const i=I.find((i=>i.id===e));i&&C({key:i.key})}},onResume:({id:e,uploadTask:i})=>{i.resume(),J({id:e})},onPause:({id:e,uploadTask:i})=>{i.pause(),N({id:e})},showThumbnails:T,hasMaxFilesError:V,maxFileCount:S}))})),{Container:n,DropZone:p,FileList:c,FileListHeader:m,FilePicker:u});export{U as StorageManager};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useState as a}from"react";function r({onChange:r}){const[t,o]=a(!1);return{onDragStart:a=>{a.dataTransfer.clearData()},onDragEnter:a=>{a.preventDefault(),a.stopPropagation()},onDragLeave:a=>{a.preventDefault(),a.stopPropagation(),o(!1)},onDragOver:a=>{a.preventDefault(),a.stopPropagation(),a.dataTransfer.dropEffect="copy",o(!0)},onDrop:a=>{a.preventDefault(),a.stopPropagation(),o(!1),r(a)},inDropZone:t}}export{r as useDropZone};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{StorageManagerActionTypes as e}from"./types.js";const s=({files:s,getFileErrorMessage:t})=>({type:e.ADD_FILES,files:s,getFileErrorMessage:t}),t=()=>({type:e.CLEAR_FILES}),i=({id:s,uploadTask:t})=>({type:e.SET_STATUS_UPLOADING,id:s,uploadTask:t}),p=({id:s,progress:t})=>({type:e.SET_UPLOAD_PROGRESS,id:s,progress:t}),r=({id:s,status:t})=>({type:e.SET_STATUS,id:s,status:t}),E=({id:s})=>({type:e.REMOVE_UPLOAD,id:s});export{s as addFilesAction,t as clearFilesAction,E as removeUploadAction,p as setUploadProgressAction,r as setUploadStatusAction,i as setUploadingFileAction};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{FileStatus as s}from"../../types.js";import{StorageManagerActionTypes as e}from"./types.js";function t(t,i){switch(i.type){case e.ADD_FILES:{const{files:e}=i,a=e.map((e=>{const t=i.getFileErrorMessage(e);return{id:e.name,file:e,error:t,key:e.name,status:t?s.ERROR:s.QUEUED,isImage:e.type.startsWith("image/"),progress:-1}})),r=[...t.files,...a];return Object.assign(Object.assign({},t),{files:r})}case e.CLEAR_FILES:return Object.assign(Object.assign({},t),{files:[]});case e.SET_STATUS_UPLOADING:{const{id:e,uploadTask:a}=i,{files:r}=t,c=r.reduce(((t,i)=>i.id===e?[...t,Object.assign(Object.assign({},i),{status:s.UPLOADING,progress:0,uploadTask:a||void 0})]:[...t,i]),[]);return Object.assign(Object.assign({},t),{files:c})}case e.SET_UPLOAD_PROGRESS:{const{id:s,progress:e}=i,{files:a}=t,r=a.reduce(((t,i)=>i.id===s?[...t,Object.assign(Object.assign({},i),{progress:e})]:[...t,i]),[]);return Object.assign(Object.assign({},t),{files:r})}case e.SET_STATUS:{const{id:s,status:e}=i,{files:a}=t,r=a.reduce(((t,i)=>i.id===s?[...t,Object.assign(Object.assign({},i),{status:e})]:[...t,i]),[]);return Object.assign(Object.assign({},t),{files:r})}case e.REMOVE_UPLOAD:{const{id:s}=i,{files:e}=t,a=e.reduce(((e,t)=>t.id===s?[...e]:[...e,t]),[]);return Object.assign(Object.assign({},t),{files:a})}}}export{t as storageManagerStateReducer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var S;!function(S){S.ADD_FILES="ADD_FILES",S.CLEAR_FILES="CLEAR_FILES",S.SET_STATUS="SET_STATUS",S.SET_STATUS_UPLOADING="SET_STATUS_UPLOADING",S.SET_UPLOAD_PROGRESS="SET_UPLOAD_PROGRESS",S.REMOVE_UPLOAD="REMOVE_UPLOAD"}(S||(S={}));export{S as StorageManagerActionTypes};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import s from"react";import{FileStatus as e}from"../../types.js";import{storageManagerStateReducer as i}from"./reducer.js";import{addFilesAction as r,clearFilesAction as t,setUploadingFileAction as o,setUploadProgressAction as a,setUploadStatusAction as d,removeUploadAction as l}from"./actions.js";import{isObject as p}from"@aws-amplify/ui";const u=s=>(s=>!(!p(s)||!s.key))(s)?Object.assign(Object.assign({},s),{id:s.key,status:e.UPLOADED}):void 0;function m(p=[]){const[{files:m},f]=s.useReducer(i,{files:Array.isArray(p)?p.map(u).filter((s=>!!s)):[]});return{removeUpload:({id:s})=>{f(l({id:s}))},setUploadPaused:({id:s})=>{f(d({id:s,status:e.PAUSED}))},setUploadProgress:({progress:s,id:e})=>{f(a({id:e,progress:s}))},setUploadResumed:({id:s})=>{f(d({id:s,status:e.UPLOADING}))},setUploadSuccess:({id:s})=>{f(d({id:s,status:e.UPLOADED}))},setUploadingFile:({uploadTask:s,id:e})=>{f(o({id:e,uploadTask:s}))},addFiles:({files:s,getFileErrorMessage:e})=>{f(r({files:s,getFileErrorMessage:e}))},clearFiles:()=>{f(t())},files:m}}export{m as useStorageManager};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__rest as e}from"tslib";import*as o from"react";import{uploadFile as s}from"../../utils/uploadFile.js";import{FileStatus as l}from"../../types.js";import{resolveFile as t}from"./resolveFile.js";function r({files:r,accessLevel:a,isResumable:i,setUploadProgress:p,setUploadingFile:c,setUploadSuccess:n,onUploadError:d,onUploadSuccess:f,onUploadStart:m,maxFileCount:u,processFile:k,provider:b,path:y=""}){o.useEffect((()=>{const o=r.filter((e=>e.status===l.QUEUED));if(!(o.length>u))for(const{file:l,key:r,id:u}of o){const o=e=>{null==f||f(e),n({id:u})},U=e=>{const o=0===e.total?100:Math.floor(e.loaded/e.total*100);p({id:u,progress:o})},g=e=>{null==d||d(e,{key:r})};l&&t({processFile:k,file:l,key:r}).then((l=>{var{key:t}=l,r=e(l,["key"]);null==m||m({key:t});const p=s(Object.assign(Object.assign({},r),{isResumable:i,provider:b,key:y+t,level:a,completeCallback:o,progressCallback:U,errorCallback:g}));c({id:u,uploadTask:i?p:void 0})}))}}),[r,a,i,p,c,d,f,m,u,n,k,b,y])}export{r as useUploadFiles};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e;!function(e){e.QUEUED="queued",e.UPLOADING="uploading",e.PAUSED="paused",e.ERROR="error",e.UPLOADED="uploaded"}(e||(e={}));export{e as FileStatus};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import r from"classnames";import{View as a,ComponentClassNames as o,Text as t}from"@aws-amplify/ui-react";import{classNameModifier as n}from"@aws-amplify/ui";import{IconUpload as i}from"@aws-amplify/ui-react/internal";function m({children:m,displayText:p,inDropZone:s,onDragEnter:g,onDragLeave:c,onDragOver:D,onDragStart:l,onDrop:f,testId:d}){const{dropFilesText:S}=p;return e.createElement(a,{className:r(s&&n(o.StorageManagerDropZone,"active"),o.StorageManagerDropZone),"data-testid":d,onDragStart:l,onDragEnter:g,onDragLeave:c,onDrop:f,onDragOver:D},e.createElement(i,{"aria-hidden":!0,className:o.StorageManagerDropZoneIcon}),e.createElement(t,{className:o.StorageManagerDropZoneText},S),m)}export{m as DropZone};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{View as a,ComponentClassNames as t,Loader as r,Button as l}from"@aws-amplify/ui-react";import{FileStatus as s}from"../../types.js";import{FileStatusMessage as i}from"./FileStatusMessage.js";import{FileRemoveButton as m}from"./FileRemoveButton.js";import{UploadDetails as n}from"./FileDetails.js";import{FileThumbnail as o}from"./FileThumbnail.js";function u({onPause:u,onResume:c,displayName:p,errorMessage:g,isImage:f,isResumable:d,loaderIsDeterminate:T,onRemove:x,progress:E,showThumbnails:S=!0,size:N,status:P,displayText:D,thumbnailUrl:U}){const{getPausedText:v,getUploadingText:F,uploadSuccessfulText:M,pauseText:j,resumeText:k}=D;return e.createElement(a,{className:t.StorageManagerFile},e.createElement(a,{className:t.StorageManagerFileWrapper},S?e.createElement(o,{isImage:f,fileName:p,url:U}):null,e.createElement(n,{displayName:p,fileSize:N}),P===s.UPLOADING?e.createElement(r,{className:t.StorageManagerLoader,variation:"linear",percentage:E,isDeterminate:T,isPercentageTextHidden:!0}):null,!d||P!==s.UPLOADING&&P!==s.PAUSED?null:P===s.PAUSED?e.createElement(l,{onClick:c,size:"small",variation:"link"},k):e.createElement(l,{onClick:u,size:"small",variation:"link"},j),e.createElement(m,{altText:`Remove file ${p}`,onClick:x})),e.createElement(i,{uploadSuccessfulText:M,getUploadingText:F,getPausedText:v,status:P,errorMessage:g,percentage:E}))}export{u as FileControl};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{View as a,ComponentClassNames as r,Text as t}from"@aws-amplify/ui-react";import{humanFileSize as m}from"@aws-amplify/ui";const l=({displayName:l,fileSize:i})=>e.createElement(e.Fragment,null,e.createElement(a,{className:r.StorageManagerFileMain},e.createElement(t,{className:r.StorageManagerFileName},l)),e.createElement(t,{as:"span",className:r.StorageManagerFileSize},i?m(i,!0):""));export{l as UploadDetails};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{View as a,ComponentClassNames as s,Alert as r}from"@aws-amplify/ui-react";import{FileStatus as o}from"../../types.js";import{FileControl as i}from"./FileControl.js";function t({displayText:t,files:l,hasMaxFilesError:n,isResumable:m,onCancelUpload:u,onDeleteUpload:p,onResume:d,onPause:c,showThumbnails:g,maxFileCount:f}){if(l.length<1)return null;const{getMaxFilesErrorText:T}=t,U=T(f);return e.createElement(a,{className:s.StorageManagerFileList},l.map((a=>{const{file:s,status:r,progress:l,error:n,key:f,isImage:T,id:U,uploadTask:h}=a,x=s&&T?URL.createObjectURL(s):"",y=!m||l>0,R=r===o.UPLOADING;return e.createElement(i,{displayName:f,errorMessage:n,displayText:t,isImage:T,isUploading:R,isResumable:m,key:U,loaderIsDeterminate:y,onRemove:()=>{m&&(r===o.UPLOADING||r===o.PAUSED)&&h?u({id:U,uploadTask:h}):p({id:U})},onPause:()=>{h&&c({id:U,uploadTask:h})},onResume:()=>{h&&d({id:U,uploadTask:h})},progress:l,showThumbnails:g,size:null==s?void 0:s.size,status:r,thumbnailUrl:x})})),n&&e.createElement(r,{variation:"error",heading:U}))}export{t as FileList};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{IconClose as t}from"@aws-amplify/ui-react/internal";import{Button as a,VisuallyHidden as i}from"@aws-amplify/ui-react";const r=({altText:r,onClick:m})=>e.createElement(a,{size:"small",onClick:m},e.createElement(i,null,r),e.createElement(t,{"aria-hidden":!0,fontSize:"medium"}));export{r as FileRemoveButton};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import a from"classnames";import{Text as t,ComponentClassNames as r}from"@aws-amplify/ui-react";import{IconError as s,IconCheck as l}from"@aws-amplify/ui-react/internal";import{classNameModifier as m}from"@aws-amplify/ui";import{FileStatus as n}from"../../types.js";const o=({errorMessage:o,getPausedText:c,getUploadingText:i,percentage:u,status:g,uploadSuccessfulText:S})=>{switch(g){case n.UPLOADING:return e.createElement(t,{className:r.StorageManagerFileStatus},i(u));case n.PAUSED:return e.createElement(t,{className:r.StorageManagerFileStatus},c(u));case n.UPLOADED:return e.createElement(t,{className:a(r.StorageManagerFileStatus,m(r.StorageManagerFileStatus,"success"))},e.createElement(l,{fontSize:"xl"})," ",S);case n.ERROR:return e.createElement(t,{className:a(r.StorageManagerFileStatus,m(r.StorageManagerFileStatus,"error"))},e.createElement(s,{fontSize:"xl"})," ",o);default:return null}};export{o as FileStatusMessage};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{Image as a,View as r,ComponentClassNames as t}from"@aws-amplify/ui-react";import{IconFile as m}from"@aws-amplify/ui-react/internal";const l=({fileName:l,isImage:i,url:c})=>{const n=i?e.createElement(a,{alt:l,src:c}):e.createElement(m,null);return e.createElement(r,{className:t.StorageManagerFileImage},n)};export{l as FileThumbnail};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{Text as t,ComponentClassNames as a}from"@aws-amplify/ui-react";function i({fileCount:i,remainingFilesCount:r,displayText:l,allUploadsSuccessful:n}){const{getFilesUploadedText:o,getRemainingFilesText:s}=l;return e.createElement(t,{className:a.StorageManagerPreviewerText},n?o(i):s(r))}export{i as FileListHeader};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__rest as e}from"tslib";import r from"react";import{ComponentClassNames as a,Button as i}from"@aws-amplify/ui-react";function s(s){var{children:t,className:m=a.StorageManagerFilePicker,size:c="small"}=s,l=e(s,["children","className","size"]);return r.createElement(i,Object.assign({},l,{className:m,size:c}),t)}export{s as FilePicker};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{humanFileSize as e}from"./humanFileSize.js";const i=({file:i,getFileSizeErrorText:o,maxFileSize:r})=>void 0===r?"":i.size>r?o(e(r,!0)):"";export{i as checkMaxFileSize};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function B(B,t=!1,i=1){const n=t?1e3:1024;if(Math.abs(B)<n)return`${B} B`;const o=t?["kB","MB","GB","TB","PB","EB","ZB","YB"]:["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let e=-1;const a=Math.pow(10,i);do{B/=n,++e}while(Math.round(Math.abs(B)*a)/a>=n&&e<o.length-1);return B.toFixed(i)+" "+o[e]}export{B as humanFileSize};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{__rest as e}from"tslib";import{Storage as l}from"aws-amplify";function r(r){var{file:a,key:o,level:t="private",progressCallback:s,errorCallback:p,completeCallback:c,isResumable:b=!1,provider:i}=r,m=e(r,["file","key","level","progressCallback","errorCallback","completeCallback","isResumable","provider"]);const k=a.type||"binary/octet-stream";return!0===b?l.put(o,a,Object.assign({level:t,resumable:!0,progressCallback:s,errorCallback:p,completeCallback:c,contentType:k,provider:i},m)):l.put(o,a,Object.assign({level:t,resumable:!1,progressCallback:s,contentType:k,provider:i},m)).then(c,p)}export{r as uploadFile};
|
package/dist/esm/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{StorageImage}from"./components/StorageImage/StorageImage.js";export{StorageManager}from"./components/StorageManager/StorageManager.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useDropZone } from './useDropZone';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export interface UseDropZoneProps {
|
|
3
|
-
onChange: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
4
|
-
}
|
|
5
|
-
export interface UseDropZoneReturn {
|
|
6
|
-
onDragStart: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
7
|
-
onDragEnter: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
8
|
-
onDragLeave: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
9
|
-
onDragOver: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
10
|
-
onDrop: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
11
|
-
inDropZone: boolean;
|
|
12
|
-
}
|
|
13
|
-
export declare function useDropZone({ onChange }: UseDropZoneProps): UseDropZoneReturn;
|
/package/dist/esm/components/StorageManager/hooks/useUploadFiles/{resolveFile.js → resolveFile.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/esm/components/StorageManager/utils/{filterAllowedFiles.js → filterAllowedFiles.mjs}
RENAMED
|
File without changes
|