@aws-amplify/ui-react-storage 2.2.0 → 2.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/StorageManager/StorageManager.mjs +1 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/actions.mjs +1 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/reducer.mjs +1 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/types.mjs +1 -1
- package/dist/esm/components/StorageManager/hooks/useStorageManager/useStorageManager.mjs +1 -1
- package/dist/esm/components/StorageManager/types.mjs +1 -1
- package/dist/esm/components/StorageManager/ui/FileListFooter/FileListFooter.mjs +1 -0
- package/dist/esm/components/StorageManager/ui/FileListHeader/FileListHeader.mjs +1 -1
- package/dist/esm/components/StorageManager/utils/displayText.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/styles.css +343 -10
- 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 +4 -4
- package/dist/esm/components/StorageManager/hooks/useDropZone/useDropZone.mjs +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
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{__rest as e}from"tslib";import*as i from"react";import{Logger as t}from"aws-amplify";import{ComponentClassNames as l,VisuallyHidden as o}from"@aws-amplify/ui-react";import{useDropZone as s}from"@aws-amplify/ui-react/internal";import{useStorageManager as r}from"./hooks/useStorageManager/useStorageManager.mjs";import{useUploadFiles as a}from"./hooks/useUploadFiles/useUploadFiles.mjs";import{FileStatus as n}from"./types.mjs";import{Container as p}from"./ui/Container/Container.mjs";import{DropZone as m}from"./ui/DropZone/DropZone.mjs";import{FileList as c}from"./ui/FileList/FileList.mjs";import{FileListHeader as u}from"./ui/FileListHeader/FileListHeader.mjs";import{FileListFooter as d}from"./ui/FileListFooter/FileListFooter.mjs";import{FilePicker as F}from"./ui/FilePicker/FilePicker.mjs";import{checkMaxFileSize as f}from"./utils/checkMaxFileSize.mjs";import{defaultStorageManagerDisplayText as g}from"./utils/displayText.mjs";import{filterAllowedFiles as U}from"./utils/filterAllowedFiles.mjs";const E=new t("Storage.StorageManager");const j=Object.assign(i.forwardRef((function({acceptedFileTypes:t=[],accessLevel:j,autoUpload:D=!0,defaultFiles:L,displayText:S,isResumable:h=!1,maxFileCount:x,maxFileSize:y,onUploadError:C,onUploadSuccess:T,onFileRemove:k,onUploadStart:v,showThumbnails:b=!0,processFile:w,components:P,provider:M,path:R},A){j&&x||E.warn("FileUploader requires accessLevel and maxFileCount props");const O=Object.assign({Container:p,DropZone:m,FileList:c,FilePicker:F,FileListHeader:u,FileListFooter:d},P),H=void 0===x||"number"==typeof x&&x>1,Z=Object.assign(Object.assign({},g),S),{getFileSizeErrorText:z}=Z,q=e=>f({file:e,maxFileSize:y,getFileSizeErrorText:z}),{addFiles:I,clearFiles:Q,files:$,removeUpload:N,queueFiles:B,setUploadingFile:G,setUploadPaused:J,setUploadProgress:K,setUploadSuccess:V,setUploadResumed:W}=r(L);i.useImperativeHandle(A,(()=>({clearFiles:Q})));const X=s({acceptedFileTypes:t,onDropComplete:({acceptedFiles:e,rejectedFiles:i})=>{i&&i.length>0&&E.warn("Rejected files: ",i);const l=U(e,t);I({files:l,status:D?n.QUEUED:n.ADDED,getFileErrorMessage:q})}}),{dragState:Y}=X,_=e(X,["dragState"]);a({accessLevel:j,files:$,isResumable:h,maxFileCount:x,onUploadError:C,onUploadSuccess:T,onUploadStart:v,setUploadingFile:G,setUploadProgress:K,setUploadSuccess:V,processFile:w,provider:M,path:R});const ee=0!==$.length&&$.every((e=>(null==e?void 0:e.status)===n.UPLOADED)),ie=$.filter((e=>e.progress<100)).length>x,te=$.filter((e=>(null==e?void 0:e.status)===n.UPLOADED)).length,le=$.length-te,oe=D?0:le,se=$.length>0,re=!D&&le>0,ae=i.useRef(null);return i.createElement(O.Container,{className:`${l.StorageManager} ${se?l.StorageManagerPreviewer:""}`},i.createElement(O.DropZone,Object.assign({inDropZone:"inactive"!==Y},_,{displayText:Z}),i.createElement(i.Fragment,null,i.createElement(O.FilePicker,{onClick:function(){ae.current&&(ae.current.click(),ae.current.value="")}},Z.browseFilesText),i.createElement(o,null,i.createElement("input",{type:"file",tabIndex:-1,ref:ae,onChange:e=>{const{files:i}=e.target;i&&0!==i.length&&I({files:Array.from(i),status:D?n.QUEUED:n.ADDED,getFileErrorMessage:q})},multiple:H,accept:t.join(",")})))),se?i.createElement(O.FileListHeader,{allUploadsSuccessful:ee,displayText:Z,fileCount:$.length,remainingFilesCount:le,selectedFilesCount:oe}):null,i.createElement(O.FileList,{displayText:Z,files:$,isResumable:h,onCancelUpload:({id:e,uploadTask:i})=>{i.pause(),N({id:e})},onDeleteUpload:({id:e})=>{if(N({id:e}),"function"==typeof k){const i=$.find((i=>i.id===e));i&&k({key:i.key})}},onResume:({id:e,uploadTask:i})=>{i.resume(),W({id:e})},onPause:({id:e,uploadTask:i})=>{i.pause(),J({id:e})},showThumbnails:b,hasMaxFilesError:ie,maxFileCount:x}),re?i.createElement(O.FileListFooter,{displayText:Z,remainingFilesCount:le,onClearAll:()=>{Q()},onUploadAll:()=>{B()}}):null)})),{Container:p,DropZone:m,FileList:c,FileListHeader:u,FileListFooter:d,FilePicker:F});export{j as StorageManager};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{StorageManagerActionTypes as
|
|
1
|
+
import{StorageManagerActionTypes as s}from"./types.mjs";const e=({files:e,status:t,getFileErrorMessage:p})=>({type:s.ADD_FILES,files:e,status:t,getFileErrorMessage:p}),t=()=>({type:s.CLEAR_FILES}),p=()=>({type:s.QUEUE_FILES}),E=({id:e,uploadTask:t})=>({type:s.SET_STATUS_UPLOADING,id:e,uploadTask:t}),i=({id:e,progress:t})=>({type:s.SET_UPLOAD_PROGRESS,id:e,progress:t}),r=({id:e,status:t})=>({type:s.SET_STATUS,id:e,status:t}),S=({id:e})=>({type:s.REMOVE_UPLOAD,id:e});export{e as addFilesAction,t as clearFilesAction,p as queueFilesAction,S as removeUploadAction,i as setUploadProgressAction,r as setUploadStatusAction,E as setUploadingFileAction};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FileStatus as s}from"../../types.mjs";import{StorageManagerActionTypes as e}from"./types.mjs";function t(t,i){switch(i.type){case e.ADD_FILES:{const{files:e}=i,
|
|
1
|
+
import{FileStatus as s}from"../../types.mjs";import{StorageManagerActionTypes as e}from"./types.mjs";function t(t,i){switch(i.type){case e.ADD_FILES:{const{files:e,status:a}=i,c=e.map((e=>{const t=i.getFileErrorMessage(e);return{id:e.name,file:e,error:t,key:e.name,status:t?s.ERROR:a,isImage:e.type.startsWith("image/"),progress:-1}})),n=[...t.files,...c];return Object.assign(Object.assign({},t),{files:n})}case e.CLEAR_FILES:return Object.assign(Object.assign({},t),{files:[]});case e.QUEUE_FILES:{const{files:e}=t,i=e.reduce(((e,t)=>[...e,Object.assign(Object.assign({},t),{status:s.QUEUED})]),[]);return Object.assign(Object.assign({},t),{files:i})}case e.SET_STATUS_UPLOADING:{const{id:e,uploadTask:a}=i,{files:c}=t,n=c.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:n})}case e.SET_UPLOAD_PROGRESS:{const{id:s,progress:e}=i,{files:a}=t,c=a.reduce(((t,i)=>i.id===s?[...t,Object.assign(Object.assign({},i),{progress:e})]:[...t,i]),[]);return Object.assign(Object.assign({},t),{files:c})}case e.SET_STATUS:{const{id:s,status:e}=i,{files:a}=t,c=a.reduce(((t,i)=>i.id===s?[...t,Object.assign(Object.assign({},i),{status:e})]:[...t,i]),[]);return Object.assign(Object.assign({},t),{files:c})}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 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var E;!function(E){E.ADD_FILES="ADD_FILES",E.CLEAR_FILES="CLEAR_FILES",E.QUEUE_FILES="QUEUE_FILES",E.SET_STATUS="SET_STATUS",E.SET_STATUS_UPLOADING="SET_STATUS_UPLOADING",E.SET_UPLOAD_PROGRESS="SET_UPLOAD_PROGRESS",E.REMOVE_UPLOAD="REMOVE_UPLOAD"}(E||(E={}));export{E as StorageManagerActionTypes};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import s from"react";import{FileStatus as e}from"../../types.mjs";import{storageManagerStateReducer as i}from"./reducer.mjs";import{addFilesAction as r,clearFilesAction as t,setUploadingFileAction as o,setUploadProgressAction as
|
|
1
|
+
import s from"react";import{FileStatus as e}from"../../types.mjs";import{storageManagerStateReducer as i}from"./reducer.mjs";import{addFilesAction as r,clearFilesAction as t,queueFilesAction as a,setUploadingFileAction as o,setUploadProgressAction as d,setUploadStatusAction as l,removeUploadAction as p}from"./actions.mjs";import{isObject as u}from"@aws-amplify/ui";const m=s=>(s=>!(!u(s)||!s.key))(s)?Object.assign(Object.assign({},s),{id:s.key,status:e.UPLOADED}):void 0;function f(u=[]){const[{files:f},c]=s.useReducer(i,{files:Array.isArray(u)?u.map(m).filter((s=>!!s)):[]});return{removeUpload:({id:s})=>{c(p({id:s}))},setUploadPaused:({id:s})=>{c(l({id:s,status:e.PAUSED}))},setUploadProgress:({progress:s,id:e})=>{c(d({id:e,progress:s}))},setUploadResumed:({id:s})=>{c(l({id:s,status:e.UPLOADING}))},setUploadSuccess:({id:s})=>{c(l({id:s,status:e.UPLOADED}))},setUploadingFile:({uploadTask:s,id:e})=>{c(o({id:e,uploadTask:s}))},queueFiles:()=>{c(a())},addFiles:({files:s,status:e,getFileErrorMessage:i})=>{c(r({files:s,status:e,getFileErrorMessage:i}))},clearFiles:()=>{c(t())},files:f}}export{f as useStorageManager};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var d;!function(d){d.ADDED="added",d.QUEUED="queued",d.UPLOADING="uploading",d.PAUSED="paused",d.ERROR="error",d.UPLOADED="uploaded"}(d||(d={}));export{d as FileStatus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"react";import{View as a,ComponentClassNames as t,Button as r}from"@aws-amplify/ui-react";function l({displayText:l,remainingFilesCount:n,onClearAll:o,onUploadAll:i}){const{clearAllButtonText:m,getUploadButtonText:c}=l;return e.createElement(a,{className:t.StorageManagerPreviewerFooter},e.createElement(a,{className:t.StorageManagerPreviewerActions},e.createElement(r,{size:"small",variation:"link",onClick:o},m),e.createElement(r,{size:"small",variation:"primary",onClick:i},c(n))))}export{l as FileListFooter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";import{Text as t,ComponentClassNames as
|
|
1
|
+
import e from"react";import{Text as t,ComponentClassNames as i}from"@aws-amplify/ui-react";function l({allUploadsSuccessful:l,displayText:a,fileCount:r,remainingFilesCount:s,selectedFilesCount:n=0}){const{getFilesUploadedText:o,getRemainingFilesText:c,getSelectedFilesText:m}=a;return e.createElement(t,{className:i.StorageManagerPreviewerText},n?m(n):l?o(r):c(s))}export{l as FileListHeader};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={getFilesUploadedText:e=>`${e} ${1===e?"file uploaded":"files uploaded"}`,getFileSizeErrorText:e=>`File size must be below ${e}`,getRemainingFilesText:e=>`${e} ${1===e?"file":"files"} uploading`,getUploadingText:e=>"Uploading"+(e>0?`: ${e}%`:""),getUploadButtonText:e=>`Upload ${e} ${1===e?"file":"files"}`,getMaxFilesErrorText:e=>`Cannot choose more than ${e} ${1===e?"file":"files"}. Remove files before updating`,getErrorText:e=>e,doneButtonText:"Done",clearAllButtonText:"Clear all",extensionNotAllowedText:"Extension not allowed",browseFilesText:"Browse files",dropFilesText:"Drop files here or",pauseText:"Pause",resumeText:"Resume",uploadSuccessfulText:"Uploaded",getPausedText:e=>`Paused: ${e}%`};export{e as defaultStorageManagerDisplayText};
|
|
1
|
+
const e={getFilesUploadedText:e=>`${e} ${1===e?"file uploaded":"files uploaded"}`,getFileSizeErrorText:e=>`File size must be below ${e}`,getRemainingFilesText:e=>`${e} ${1===e?"file":"files"} uploading`,getSelectedFilesText:e=>`${e} ${1===e?"file":"files"} selected`,getUploadingText:e=>"Uploading"+(e>0?`: ${e}%`:""),getUploadButtonText:e=>`Upload ${e} ${1===e?"file":"files"}`,getMaxFilesErrorText:e=>`Cannot choose more than ${e} ${1===e?"file":"files"}. Remove files before updating`,getErrorText:e=>e,doneButtonText:"Done",clearAllButtonText:"Clear all",extensionNotAllowedText:"Extension not allowed",browseFilesText:"Browse files",dropFilesText:"Drop files here or",pauseText:"Pause",resumeText:"Resume",uploadSuccessfulText:"Uploaded",getPausedText:e=>`Paused: ${e}%`};export{e as defaultStorageManagerDisplayText};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),a=require("react"),t=require("classnames"),s=require("@aws-amplify/ui-react"),l=require("@aws-amplify/ui-react/internal"),r=require("aws-amplify"),n=require("@aws-amplify/ui");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var a=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),a.default=e,Object.freeze(a)}var c=i(a),u=o(a),d=o(t);var p,m;function g(e,a){switch(a.type){case m.ADD_FILES:{const{files:t}=a,s=t.map((e=>{const t=a.getFileErrorMessage(e);return{id:e.name,file:e,error:t,key:e.name,status:t?p.ERROR:p.QUEUED,isImage:e.type.startsWith("image/"),progress:-1}})),l=[...e.files,...s];return Object.assign(Object.assign({},e),{files:l})}case m.CLEAR_FILES:return Object.assign(Object.assign({},e),{files:[]});case m.SET_STATUS_UPLOADING:{const{id:t,uploadTask:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{status:p.UPLOADING,progress:0,uploadTask:s||void 0})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case m.SET_UPLOAD_PROGRESS:{const{id:t,progress:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{progress:s})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case m.SET_STATUS:{const{id:t,status:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{status:s})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case m.REMOVE_UPLOAD:{const{id:t}=a,{files:s}=e,l=s.reduce(((e,a)=>a.id===t?[...e]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:l})}}}!function(e){e.QUEUED="queued",e.UPLOADING="uploading",e.PAUSED="paused",e.ERROR="error",e.UPLOADED="uploaded"}(p||(p={})),function(e){e.ADD_FILES="ADD_FILES",e.CLEAR_FILES="CLEAR_FILES",e.SET_STATUS="SET_STATUS",e.SET_STATUS_UPLOADING="SET_STATUS_UPLOADING",e.SET_UPLOAD_PROGRESS="SET_UPLOAD_PROGRESS",e.REMOVE_UPLOAD="REMOVE_UPLOAD"}(m||(m={}));const f=({files:e,getFileErrorMessage:a})=>({type:m.ADD_FILES,files:e,getFileErrorMessage:a}),E=()=>({type:m.CLEAR_FILES}),S=({id:e,uploadTask:a})=>({type:m.SET_STATUS_UPLOADING,id:e,uploadTask:a}),T=({id:e,progress:a})=>({type:m.SET_UPLOAD_PROGRESS,id:e,progress:a}),U=({id:e,status:a})=>({type:m.SET_STATUS,id:e,status:a}),C=({id:e})=>({type:m.REMOVE_UPLOAD,id:e}),F=e=>(e=>!(!n.isObject(e)||!e.key))(e)?Object.assign(Object.assign({},e),{id:e.key,status:p.UPLOADED}):void 0;function b(a){var{file:t,key:s,level:l="private",progressCallback:n,errorCallback:o,completeCallback:i,isResumable:c=!1,provider:u}=a,d=e.__rest(a,["file","key","level","progressCallback","errorCallback","completeCallback","isResumable","provider"]);const p=t.type||"binary/octet-stream";return!0===c?r.Storage.put(s,t,Object.assign({level:l,resumable:!0,progressCallback:n,errorCallback:o,completeCallback:i,contentType:p,provider:u},d)):r.Storage.put(s,t,Object.assign({level:l,resumable:!1,progressCallback:n,contentType:p,provider:u},d)).then(i,o)}const D=({processFile:e,file:a,key:t})=>new Promise(((s,l)=>{const r=n.isFunction(e)?e({file:a,key:t}):{file:a,key:t};r instanceof Promise?r.then(s).catch(l):s(r)}));function v({children:e,className:a}){return u.default.createElement(s.View,{className:a},e)}function O({children:e,displayText:a,inDropZone:t,onDragEnter:r,onDragLeave:o,onDragOver:i,onDragStart:c,onDrop:p,testId:m}){var g;const{dropFilesText:f}=a,E=l.useIcons("storageManager");return u.default.createElement(s.View,{className:d.default(t&&n.classNameModifier(s.ComponentClassNames.StorageManagerDropZone,"active"),s.ComponentClassNames.StorageManagerDropZone),"data-testid":m,onDragStart:c,onDragEnter:r,onDragLeave:o,onDrop:p,onDragOver:i},u.default.createElement(s.View,{as:"span","aria-hidden":!0,className:s.ComponentClassNames.StorageManagerDropZoneIcon},null!==(g=null==E?void 0:E.upload)&&void 0!==g?g:u.default.createElement(l.IconUpload,null)),u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerDropZoneText},f),e)}const x=({errorMessage:e,getPausedText:a,getUploadingText:t,percentage:r,status:o,uploadSuccessfulText:i})=>{var c,m;const g=l.useIcons("storageManager");switch(o){case p.UPLOADING:return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileStatus},t(r));case p.PAUSED:return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileStatus},a(r));case p.UPLOADED:return u.default.createElement(s.Text,{className:d.default(s.ComponentClassNames.StorageManagerFileStatus,n.classNameModifier(s.ComponentClassNames.StorageManagerFileStatus,"success"))},u.default.createElement(s.View,{as:"span",fontSize:"xl"},null!==(c=null==g?void 0:g.success)&&void 0!==c?c:u.default.createElement(l.IconCheck,null)),i);case p.ERROR:return u.default.createElement(s.Text,{className:d.default(s.ComponentClassNames.StorageManagerFileStatus,n.classNameModifier(s.ComponentClassNames.StorageManagerFileStatus,"error"))},u.default.createElement(s.View,{as:"span",fontSize:"xl"},null!==(m=null==g?void 0:g.error)&&void 0!==m?m:u.default.createElement(l.IconError,null)),e);default:return null}},y=({altText:e,onClick:a})=>{var t;const r=l.useIcons("storageManager");return u.default.createElement(s.Button,{size:"small",onClick:a},u.default.createElement(s.VisuallyHidden,null,e),u.default.createElement(s.View,{as:"span","aria-hidden":!0,fontSize:"medium"},null!==(t=null==r?void 0:r.remove)&&void 0!==t?t:u.default.createElement(l.IconClose,null)))},N=({displayName:e,fileSize:a})=>u.default.createElement(u.default.Fragment,null,u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileMain},u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileName},e)),u.default.createElement(s.Text,{as:"span",className:s.ComponentClassNames.StorageManagerFileSize},a?n.humanFileSize(a,!0):"")),P=({fileName:e,isImage:a,url:t})=>{var r;const n=l.useIcons("storageManager"),o=a?u.default.createElement(s.Image,{alt:e,src:t}):null!==(r=null==n?void 0:n.file)&&void 0!==r?r:u.default.createElement(l.IconFile,null);return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileImage},o)};function k({onPause:e,onResume:a,displayName:t,errorMessage:l,isImage:r,isResumable:n,loaderIsDeterminate:o,onRemove:i,progress:c,showThumbnails:d=!0,size:m,status:g,displayText:f,thumbnailUrl:E}){const{getPausedText:S,getUploadingText:T,uploadSuccessfulText:U,pauseText:C,resumeText:F}=f;return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFile},u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileWrapper},d?u.default.createElement(P,{isImage:r,fileName:t,url:E}):null,u.default.createElement(N,{displayName:t,fileSize:m}),g===p.UPLOADING?u.default.createElement(s.Loader,{className:s.ComponentClassNames.StorageManagerLoader,variation:"linear",percentage:c,isDeterminate:o,isPercentageTextHidden:!0}):null,!n||g!==p.UPLOADING&&g!==p.PAUSED?null:g===p.PAUSED?u.default.createElement(s.Button,{onClick:a,size:"small",variation:"link"},F):u.default.createElement(s.Button,{onClick:e,size:"small",variation:"link"},C),u.default.createElement(y,{altText:`Remove file ${t}`,onClick:i})),u.default.createElement(x,{uploadSuccessfulText:U,getUploadingText:T,getPausedText:S,status:g,errorMessage:l,percentage:c}))}function L({displayText:e,files:a,hasMaxFilesError:t,isResumable:l,onCancelUpload:r,onDeleteUpload:n,onResume:o,onPause:i,showThumbnails:c,maxFileCount:d}){if(a.length<1)return null;const{getMaxFilesErrorText:m}=e,g=m(d);return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileList},a.map((a=>{const{file:t,status:s,progress:d,error:m,key:g,isImage:f,id:E,uploadTask:S}=a,T=t&&f?URL.createObjectURL(t):"",U=!l||d>0,C=s===p.UPLOADING;return u.default.createElement(k,{displayName:g,errorMessage:m,displayText:e,isImage:f,isUploading:C,isResumable:l,key:E,loaderIsDeterminate:U,onRemove:()=>{l&&(s===p.UPLOADING||s===p.PAUSED)&&S?r({id:E,uploadTask:S}):n({id:E})},onPause:()=>{S&&i({id:E,uploadTask:S})},onResume:()=>{S&&o({id:E,uploadTask:S})},progress:d,showThumbnails:c,size:null==t?void 0:t.size,status:s,thumbnailUrl:T})})),t&&u.default.createElement(s.Alert,{variation:"error",heading:g}))}function h({fileCount:e,remainingFilesCount:a,displayText:t,allUploadsSuccessful:l}){const{getFilesUploadedText:r,getRemainingFilesText:n}=t;return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerPreviewerText},l?r(e):n(a))}function M(a){var{children:t,className:l=s.ComponentClassNames.StorageManagerFilePicker,size:r="small"}=a,n=e.__rest(a,["children","className","size"]);return u.default.createElement(s.Button,Object.assign({},n,{className:l,size:r}),t)}const A=({file:e,getFileSizeErrorText:a,maxFileSize:t})=>void 0===t?"":e.size>t?a(function(e,a=!1,t=1){const s=a?1e3:1024;if(Math.abs(e)<s)return`${e} B`;const l=a?["kB","MB","GB","TB","PB","EB","ZB","YB"]:["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let r=-1;const n=Math.pow(10,t);do{e/=s,++r}while(Math.round(Math.abs(e)*n)/n>=s&&r<l.length-1);return e.toFixed(t)+" "+l[r]}(t,!0)):"",R={getFilesUploadedText:e=>`${e} ${1===e?"file uploaded":"files uploaded"}`,getFileSizeErrorText:e=>`File size must be below ${e}`,getRemainingFilesText:e=>`${e} ${1===e?"file":"files"} uploading`,getUploadingText:e=>"Uploading"+(e>0?`: ${e}%`:""),getUploadButtonText:e=>`Upload ${e} ${1===e?"file":"files"}`,getMaxFilesErrorText:e=>`Cannot choose more than ${e} ${1===e?"file":"files"}. Remove files before updating`,getErrorText:e=>e,doneButtonText:"Done",clearAllButtonText:"Clear all",extensionNotAllowedText:"Extension not allowed",browseFilesText:"Browse files",dropFilesText:"Drop files here or",pauseText:"Pause",resumeText:"Resume",uploadSuccessfulText:"Uploaded",getPausedText:e=>`Paused: ${e}%`},I=new r.Logger("Storage.StorageManager");const _=Object.assign(c.forwardRef((function({acceptedFileTypes:t=[],accessLevel:l,defaultFiles:r,displayText:n,isResumable:o=!1,maxFileCount:i,maxFileSize:d,onUploadError:m,onUploadSuccess:x,onFileRemove:y,onUploadStart:N,showThumbnails:P=!0,processFile:k,components:_,provider:j,path:w},z){l&&i||I.warn("FileUploader requires accessLevel and maxFileCount props");const B=Object.assign({Container:v,DropZone:O,FileList:L,FilePicker:M,FileListHeader:h},_),G=void 0===i||"number"==typeof i&&i>1,V=Object.assign(Object.assign({},R),n),{getFileSizeErrorText:$}=V,Z=e=>A({file:e,maxFileSize:d,getFileSizeErrorText:$}),{addFiles:q,clearFiles:H,files:W,removeUpload:K,setUploadingFile:Q,setUploadPaused:Y,setUploadProgress:J,setUploadSuccess:X,setUploadResumed:ee}=function(e=[]){const[{files:a},t]=u.default.useReducer(g,{files:Array.isArray(e)?e.map(F).filter((e=>!!e)):[]});return{removeUpload:({id:e})=>{t(C({id:e}))},setUploadPaused:({id:e})=>{t(U({id:e,status:p.PAUSED}))},setUploadProgress:({progress:e,id:a})=>{t(T({id:a,progress:e}))},setUploadResumed:({id:e})=>{t(U({id:e,status:p.UPLOADING}))},setUploadSuccess:({id:e})=>{t(U({id:e,status:p.UPLOADED}))},setUploadingFile:({uploadTask:e,id:a})=>{t(S({id:a,uploadTask:e}))},addFiles:({files:e,getFileErrorMessage:a})=>{t(f({files:e,getFileErrorMessage:a}))},clearFiles:()=>{t(E())},files:a}}(r);c.useImperativeHandle(z,(()=>({clearFiles:H})));const ae=function({onChange:e}){const[t,s]=a.useState(!1);return{onDragStart:e=>{e.dataTransfer.clearData()},onDragEnter:e=>{e.preventDefault(),e.stopPropagation()},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),s(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy",s(!0)},onDrop:a=>{a.preventDefault(),a.stopPropagation(),s(!1),e(a)},inDropZone:t}}({onChange:e=>{const{files:a}=e.dataTransfer;if(!a||0===a.length)return;const s=((e,a)=>!a||0===a.length||a.includes("*")?e:e.filter((e=>{const t=e.name||"",s=(e.type||"").toLowerCase(),l=s.replace(/\/.*$/,"");return a.some((e=>{const a=e.trim().toLowerCase();return"."===a.charAt(0)?t.toLowerCase().endsWith(a):a.endsWith("/*")?l===a.replace(/\/.*$/,""):s===a}))})))(Array.from(a),t);q({files:s,getFileErrorMessage:Z})}});!function({files:a,accessLevel:t,isResumable:s,setUploadProgress:l,setUploadingFile:r,setUploadSuccess:n,onUploadError:o,onUploadSuccess:i,onUploadStart:u,maxFileCount:d,processFile:m,provider:g,path:f=""}){c.useEffect((()=>{const c=a.filter((e=>e.status===p.QUEUED));if(!(c.length>d))for(const{file:a,key:d,id:p}of c){const c=e=>{null==i||i(e),n({id:p})},E=e=>{const a=0===e.total?100:Math.floor(e.loaded/e.total*100);l({id:p,progress:a})},S=e=>{null==o||o(e,{key:d})};a&&D({processFile:m,file:a,key:d}).then((a=>{var{key:l}=a,n=e.__rest(a,["key"]);null==u||u({key:l});const o=b(Object.assign(Object.assign({},n),{isResumable:s,provider:g,key:f+l,level:t,completeCallback:c,progressCallback:E,errorCallback:S}));r({id:p,uploadTask:s?o:void 0})}))}}),[a,t,s,l,r,o,i,u,d,n,m,g,f])}({accessLevel:l,files:W,isResumable:o,maxFileCount:i,onUploadError:m,onUploadSuccess:x,onUploadStart:N,setUploadingFile:Q,setUploadProgress:J,setUploadSuccess:X,processFile:k,provider:j,path:w});const te=0!==W.length&&W.every((e=>(null==e?void 0:e.status)===p.UPLOADED)),se=W.filter((e=>e.progress<100)).length>i,le=W.filter((e=>(null==e?void 0:e.status)===p.UPLOADED)).length,re=W.length-le,ne=W.length>0,oe=c.useRef(null);return c.createElement(B.Container,{className:`${s.ComponentClassNames.StorageManager} ${ne?s.ComponentClassNames.StorageManagerPreviewer:""}`},c.createElement(B.DropZone,Object.assign({},ae,{displayText:V}),c.createElement(c.Fragment,null,c.createElement(B.FilePicker,{onClick:function(){oe.current&&(oe.current.click(),oe.current.value="")}},V.browseFilesText),c.createElement(s.VisuallyHidden,null,c.createElement("input",{type:"file",tabIndex:-1,ref:oe,onChange:e=>{const{files:a}=e.target;a&&0!==a.length&&q({files:Array.from(a),getFileErrorMessage:Z})},multiple:G,accept:t.join(",")})))),ne?c.createElement(B.FileListHeader,{allUploadsSuccessful:te,displayText:V,fileCount:W.length,remainingFilesCount:re}):null,c.createElement(B.FileList,{displayText:V,files:W,isResumable:o,onCancelUpload:({id:e,uploadTask:a})=>{a.pause(),K({id:e})},onDeleteUpload:({id:e})=>{if(K({id:e}),"function"==typeof y){const a=W.find((a=>a.id===e));a&&y({key:a.key})}},onResume:({id:e,uploadTask:a})=>{a.resume(),ee({id:e})},onPause:({id:e,uploadTask:a})=>{a.pause(),Y({id:e})},showThumbnails:P,hasMaxFilesError:se,maxFileCount:i}))})),{Container:v,DropZone:O,FileList:L,FileListHeader:h,FilePicker:M});exports.StorageImage=a=>{var{accessLevel:t,className:r,fallbackSrc:n,identityId:o,imgKey:i,onStorageGetError:u}=a,p=e.__rest(a,["accessLevel","className","fallbackSrc","identityId","imgKey","onStorageGetError"]);const m=c.useMemo((()=>({level:t,identityId:o})),[t,o]),g=l.useStorageURL({key:i,options:m,fallbackURL:n,onStorageGetError:u});return c.createElement(s.Image,Object.assign({},p,{className:d.default(s.ComponentClassNames.StorageImage,r),src:g}))},exports.StorageManager=_;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),a=require("react"),t=require("classnames"),s=require("@aws-amplify/ui-react"),l=require("@aws-amplify/ui-react/internal"),r=require("aws-amplify"),n=require("@aws-amplify/ui");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var a=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var s=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,s.get?s:{enumerable:!0,get:function(){return e[t]}})}})),a.default=e,Object.freeze(a)}var c=o(a),u=i(a),d=i(t);var m,g;function p(e,a){switch(a.type){case g.ADD_FILES:{const{files:t,status:s}=a,l=t.map((e=>{const t=a.getFileErrorMessage(e);return{id:e.name,file:e,error:t,key:e.name,status:t?m.ERROR:s,isImage:e.type.startsWith("image/"),progress:-1}})),r=[...e.files,...l];return Object.assign(Object.assign({},e),{files:r})}case g.CLEAR_FILES:return Object.assign(Object.assign({},e),{files:[]});case g.QUEUE_FILES:{const{files:a}=e,t=a.reduce(((e,a)=>[...e,Object.assign(Object.assign({},a),{status:m.QUEUED})]),[]);return Object.assign(Object.assign({},e),{files:t})}case g.SET_STATUS_UPLOADING:{const{id:t,uploadTask:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{status:m.UPLOADING,progress:0,uploadTask:s||void 0})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case g.SET_UPLOAD_PROGRESS:{const{id:t,progress:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{progress:s})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case g.SET_STATUS:{const{id:t,status:s}=a,{files:l}=e,r=l.reduce(((e,a)=>a.id===t?[...e,Object.assign(Object.assign({},a),{status:s})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case g.REMOVE_UPLOAD:{const{id:t}=a,{files:s}=e,l=s.reduce(((e,a)=>a.id===t?[...e]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:l})}}}!function(e){e.ADDED="added",e.QUEUED="queued",e.UPLOADING="uploading",e.PAUSED="paused",e.ERROR="error",e.UPLOADED="uploaded"}(m||(m={})),function(e){e.ADD_FILES="ADD_FILES",e.CLEAR_FILES="CLEAR_FILES",e.QUEUE_FILES="QUEUE_FILES",e.SET_STATUS="SET_STATUS",e.SET_STATUS_UPLOADING="SET_STATUS_UPLOADING",e.SET_UPLOAD_PROGRESS="SET_UPLOAD_PROGRESS",e.REMOVE_UPLOAD="REMOVE_UPLOAD"}(g||(g={}));const f=({files:e,status:a,getFileErrorMessage:t})=>({type:g.ADD_FILES,files:e,status:a,getFileErrorMessage:t}),E=()=>({type:g.CLEAR_FILES}),S=()=>({type:g.QUEUE_FILES}),T=({id:e,uploadTask:a})=>({type:g.SET_STATUS_UPLOADING,id:e,uploadTask:a}),U=({id:e,progress:a})=>({type:g.SET_UPLOAD_PROGRESS,id:e,progress:a}),F=({id:e,status:a})=>({type:g.SET_STATUS,id:e,status:a}),C=({id:e})=>({type:g.REMOVE_UPLOAD,id:e}),b=e=>(e=>!(!n.isObject(e)||!e.key))(e)?Object.assign(Object.assign({},e),{id:e.key,status:m.UPLOADED}):void 0;function D(a){var{file:t,key:s,level:l="private",progressCallback:n,errorCallback:i,completeCallback:o,isResumable:c=!1,provider:u}=a,d=e.__rest(a,["file","key","level","progressCallback","errorCallback","completeCallback","isResumable","provider"]);const m=t.type||"binary/octet-stream";return!0===c?r.Storage.put(s,t,Object.assign({level:l,resumable:!0,progressCallback:n,errorCallback:i,completeCallback:o,contentType:m,provider:u},d)):r.Storage.put(s,t,Object.assign({level:l,resumable:!1,progressCallback:n,contentType:m,provider:u},d)).then(o,i)}const x=({processFile:e,file:a,key:t})=>new Promise(((s,l)=>{const r=n.isFunction(e)?e({file:a,key:t}):{file:a,key:t};r instanceof Promise?r.then(s).catch(l):s(r)}));function O({children:e,className:a}){return u.default.createElement(s.View,{className:a},e)}function v({children:e,displayText:a,inDropZone:t,onDragEnter:r,onDragLeave:i,onDragOver:o,onDragStart:c,onDrop:m,testId:g}){var p;const{dropFilesText:f}=a,E=l.useIcons("storageManager");return u.default.createElement(s.View,{className:d.default(t&&n.classNameModifier(s.ComponentClassNames.StorageManagerDropZone,"active"),s.ComponentClassNames.StorageManagerDropZone),"data-testid":g,onDragStart:c,onDragEnter:r,onDragLeave:i,onDrop:m,onDragOver:o},u.default.createElement(s.View,{as:"span","aria-hidden":!0,className:s.ComponentClassNames.StorageManagerDropZoneIcon},null!==(p=null==E?void 0:E.upload)&&void 0!==p?p:u.default.createElement(l.IconUpload,null)),u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerDropZoneText},f),e)}const y=({errorMessage:e,getPausedText:a,getUploadingText:t,percentage:r,status:i,uploadSuccessfulText:o})=>{var c,g;const p=l.useIcons("storageManager");switch(i){case m.UPLOADING:return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileStatus},t(r));case m.PAUSED:return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileStatus},a(r));case m.UPLOADED:return u.default.createElement(s.Text,{className:d.default(s.ComponentClassNames.StorageManagerFileStatus,n.classNameModifier(s.ComponentClassNames.StorageManagerFileStatus,"success"))},u.default.createElement(s.View,{as:"span",fontSize:"xl"},null!==(c=null==p?void 0:p.success)&&void 0!==c?c:u.default.createElement(l.IconCheck,null)),o);case m.ERROR:return u.default.createElement(s.Text,{className:d.default(s.ComponentClassNames.StorageManagerFileStatus,n.classNameModifier(s.ComponentClassNames.StorageManagerFileStatus,"error"))},u.default.createElement(s.View,{as:"span",fontSize:"xl"},null!==(g=null==p?void 0:p.error)&&void 0!==g?g:u.default.createElement(l.IconError,null)),e);default:return null}},N=({altText:e,onClick:a})=>{var t;const r=l.useIcons("storageManager");return u.default.createElement(s.Button,{size:"small",onClick:a},u.default.createElement(s.VisuallyHidden,null,e),u.default.createElement(s.View,{as:"span","aria-hidden":!0,fontSize:"medium"},null!==(t=null==r?void 0:r.remove)&&void 0!==t?t:u.default.createElement(l.IconClose,null)))},L=({displayName:e,fileSize:a})=>u.default.createElement(u.default.Fragment,null,u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileMain},u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerFileName},e)),u.default.createElement(s.Text,{as:"span",className:s.ComponentClassNames.StorageManagerFileSize},a?n.humanFileSize(a,!0):"")),k=({fileName:e,isImage:a,url:t})=>{var r;const n=l.useIcons("storageManager"),i=a?u.default.createElement(s.Image,{alt:e,src:t}):null!==(r=null==n?void 0:n.file)&&void 0!==r?r:u.default.createElement(l.IconFile,null);return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileImage},i)};function P({onPause:e,onResume:a,displayName:t,errorMessage:l,isImage:r,isResumable:n,loaderIsDeterminate:i,onRemove:o,progress:c,showThumbnails:d=!0,size:g,status:p,displayText:f,thumbnailUrl:E}){const{getPausedText:S,getUploadingText:T,uploadSuccessfulText:U,pauseText:F,resumeText:C}=f;return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFile},u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileWrapper},d?u.default.createElement(k,{isImage:r,fileName:t,url:E}):null,u.default.createElement(L,{displayName:t,fileSize:g}),p===m.UPLOADING?u.default.createElement(s.Loader,{className:s.ComponentClassNames.StorageManagerLoader,variation:"linear",percentage:c,isDeterminate:i,isPercentageTextHidden:!0}):null,!n||p!==m.UPLOADING&&p!==m.PAUSED?null:p===m.PAUSED?u.default.createElement(s.Button,{onClick:a,size:"small",variation:"link"},C):u.default.createElement(s.Button,{onClick:e,size:"small",variation:"link"},F),u.default.createElement(N,{altText:`Remove file ${t}`,onClick:o})),u.default.createElement(y,{uploadSuccessfulText:U,getUploadingText:T,getPausedText:S,status:p,errorMessage:l,percentage:c}))}function A({displayText:e,files:a,hasMaxFilesError:t,isResumable:l,onCancelUpload:r,onDeleteUpload:n,onResume:i,onPause:o,showThumbnails:c,maxFileCount:d}){if(a.length<1)return null;const{getMaxFilesErrorText:g}=e,p=g(d);return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileList},a.map((a=>{const{file:t,status:s,progress:d,error:g,key:p,isImage:f,id:E,uploadTask:S}=a,T=t&&f?URL.createObjectURL(t):"",U=!l||d>0,F=s===m.UPLOADING;return u.default.createElement(P,{displayName:p,errorMessage:g,displayText:e,isImage:f,isUploading:F,isResumable:l,key:E,loaderIsDeterminate:U,onRemove:()=>{l&&(s===m.UPLOADING||s===m.PAUSED)&&S?r({id:E,uploadTask:S}):n({id:E})},onPause:()=>{S&&o({id:E,uploadTask:S})},onResume:()=>{S&&i({id:E,uploadTask:S})},progress:d,showThumbnails:c,size:null==t?void 0:t.size,status:s,thumbnailUrl:T})})),t&&u.default.createElement(s.Alert,{variation:"error",heading:p}))}function M({allUploadsSuccessful:e,displayText:a,fileCount:t,remainingFilesCount:l,selectedFilesCount:r=0}){const{getFilesUploadedText:n,getRemainingFilesText:i,getSelectedFilesText:o}=a;return u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerPreviewerText},r?o(r):e?n(t):i(l))}function h({displayText:e,remainingFilesCount:a,onClearAll:t,onUploadAll:l}){const{clearAllButtonText:r,getUploadButtonText:n}=e;return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerPreviewerFooter},u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerPreviewerActions},u.default.createElement(s.Button,{size:"small",variation:"link",onClick:t},r),u.default.createElement(s.Button,{size:"small",variation:"primary",onClick:l},n(a))))}function R(a){var{children:t,className:l=s.ComponentClassNames.StorageManagerFilePicker,size:r="small"}=a,n=e.__rest(a,["children","className","size"]);return u.default.createElement(s.Button,Object.assign({},n,{className:l,size:r}),t)}const I=({file:e,getFileSizeErrorText:a,maxFileSize:t})=>void 0===t?"":e.size>t?a(function(e,a=!1,t=1){const s=a?1e3:1024;if(Math.abs(e)<s)return`${e} B`;const l=a?["kB","MB","GB","TB","PB","EB","ZB","YB"]:["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"];let r=-1;const n=Math.pow(10,t);do{e/=s,++r}while(Math.round(Math.abs(e)*n)/n>=s&&r<l.length-1);return e.toFixed(t)+" "+l[r]}(t,!0)):"",_={getFilesUploadedText:e=>`${e} ${1===e?"file uploaded":"files uploaded"}`,getFileSizeErrorText:e=>`File size must be below ${e}`,getRemainingFilesText:e=>`${e} ${1===e?"file":"files"} uploading`,getSelectedFilesText:e=>`${e} ${1===e?"file":"files"} selected`,getUploadingText:e=>"Uploading"+(e>0?`: ${e}%`:""),getUploadButtonText:e=>`Upload ${e} ${1===e?"file":"files"}`,getMaxFilesErrorText:e=>`Cannot choose more than ${e} ${1===e?"file":"files"}. Remove files before updating`,getErrorText:e=>e,doneButtonText:"Done",clearAllButtonText:"Clear all",extensionNotAllowedText:"Extension not allowed",browseFilesText:"Browse files",dropFilesText:"Drop files here or",pauseText:"Pause",resumeText:"Resume",uploadSuccessfulText:"Uploaded",getPausedText:e=>`Paused: ${e}%`},j=new r.Logger("Storage.StorageManager");const w=Object.assign(c.forwardRef((function({acceptedFileTypes:a=[],accessLevel:t,autoUpload:r=!0,defaultFiles:n,displayText:i,isResumable:o=!1,maxFileCount:d,maxFileSize:g,onUploadError:y,onUploadSuccess:N,onFileRemove:L,onUploadStart:k,showThumbnails:P=!0,processFile:w,components:B,provider:z,path:G},V){t&&d||j.warn("FileUploader requires accessLevel and maxFileCount props");const $=Object.assign({Container:O,DropZone:v,FileList:A,FilePicker:R,FileListHeader:M,FileListFooter:h},B),Z=void 0===d||"number"==typeof d&&d>1,q=Object.assign(Object.assign({},_),i),{getFileSizeErrorText:Q}=q,H=e=>I({file:e,maxFileSize:g,getFileSizeErrorText:Q}),{addFiles:W,clearFiles:K,files:Y,removeUpload:J,queueFiles:X,setUploadingFile:ee,setUploadPaused:ae,setUploadProgress:te,setUploadSuccess:se,setUploadResumed:le}=function(e=[]){const[{files:a},t]=u.default.useReducer(p,{files:Array.isArray(e)?e.map(b).filter((e=>!!e)):[]});return{removeUpload:({id:e})=>{t(C({id:e}))},setUploadPaused:({id:e})=>{t(F({id:e,status:m.PAUSED}))},setUploadProgress:({progress:e,id:a})=>{t(U({id:a,progress:e}))},setUploadResumed:({id:e})=>{t(F({id:e,status:m.UPLOADING}))},setUploadSuccess:({id:e})=>{t(F({id:e,status:m.UPLOADED}))},setUploadingFile:({uploadTask:e,id:a})=>{t(T({id:a,uploadTask:e}))},queueFiles:()=>{t(S())},addFiles:({files:e,status:a,getFileErrorMessage:s})=>{t(f({files:e,status:a,getFileErrorMessage:s}))},clearFiles:()=>{t(E())},files:a}}(n);c.useImperativeHandle(V,(()=>({clearFiles:K})));const re=l.useDropZone({acceptedFileTypes:a,onDropComplete:({acceptedFiles:e,rejectedFiles:t})=>{t&&t.length>0&&j.warn("Rejected files: ",t);const s=((e,a)=>!a||0===a.length||a.includes("*")?e:e.filter((e=>{const t=e.name||"",s=(e.type||"").toLowerCase(),l=s.replace(/\/.*$/,"");return a.some((e=>{const a=e.trim().toLowerCase();return"."===a.charAt(0)?t.toLowerCase().endsWith(a):a.endsWith("/*")?l===a.replace(/\/.*$/,""):s===a}))})))(e,a);W({files:s,status:r?m.QUEUED:m.ADDED,getFileErrorMessage:H})}}),{dragState:ne}=re,ie=e.__rest(re,["dragState"]);!function({files:a,accessLevel:t,isResumable:s,setUploadProgress:l,setUploadingFile:r,setUploadSuccess:n,onUploadError:i,onUploadSuccess:o,onUploadStart:u,maxFileCount:d,processFile:g,provider:p,path:f=""}){c.useEffect((()=>{const c=a.filter((e=>e.status===m.QUEUED));if(!(c.length>d))for(const{file:a,key:d,id:m}of c){const c=e=>{null==o||o(e),n({id:m})},E=e=>{const a=0===e.total?100:Math.floor(e.loaded/e.total*100);l({id:m,progress:a})},S=e=>{null==i||i(e,{key:d})};a&&x({processFile:g,file:a,key:d}).then((a=>{var{key:l}=a,n=e.__rest(a,["key"]);null==u||u({key:l});const i=D(Object.assign(Object.assign({},n),{isResumable:s,provider:p,key:f+l,level:t,completeCallback:c,progressCallback:E,errorCallback:S}));r({id:m,uploadTask:s?i:void 0})}))}}),[a,t,s,l,r,i,o,u,d,n,g,p,f])}({accessLevel:t,files:Y,isResumable:o,maxFileCount:d,onUploadError:y,onUploadSuccess:N,onUploadStart:k,setUploadingFile:ee,setUploadProgress:te,setUploadSuccess:se,processFile:w,provider:z,path:G});const oe=0!==Y.length&&Y.every((e=>(null==e?void 0:e.status)===m.UPLOADED)),ce=Y.filter((e=>e.progress<100)).length>d,ue=Y.filter((e=>(null==e?void 0:e.status)===m.UPLOADED)).length,de=Y.length-ue,me=r?0:de,ge=Y.length>0,pe=!r&&de>0,fe=c.useRef(null);return c.createElement($.Container,{className:`${s.ComponentClassNames.StorageManager} ${ge?s.ComponentClassNames.StorageManagerPreviewer:""}`},c.createElement($.DropZone,Object.assign({inDropZone:"inactive"!==ne},ie,{displayText:q}),c.createElement(c.Fragment,null,c.createElement($.FilePicker,{onClick:function(){fe.current&&(fe.current.click(),fe.current.value="")}},q.browseFilesText),c.createElement(s.VisuallyHidden,null,c.createElement("input",{type:"file",tabIndex:-1,ref:fe,onChange:e=>{const{files:a}=e.target;a&&0!==a.length&&W({files:Array.from(a),status:r?m.QUEUED:m.ADDED,getFileErrorMessage:H})},multiple:Z,accept:a.join(",")})))),ge?c.createElement($.FileListHeader,{allUploadsSuccessful:oe,displayText:q,fileCount:Y.length,remainingFilesCount:de,selectedFilesCount:me}):null,c.createElement($.FileList,{displayText:q,files:Y,isResumable:o,onCancelUpload:({id:e,uploadTask:a})=>{a.pause(),J({id:e})},onDeleteUpload:({id:e})=>{if(J({id:e}),"function"==typeof L){const a=Y.find((a=>a.id===e));a&&L({key:a.key})}},onResume:({id:e,uploadTask:a})=>{a.resume(),le({id:e})},onPause:({id:e,uploadTask:a})=>{a.pause(),ae({id:e})},showThumbnails:P,hasMaxFilesError:ce,maxFileCount:d}),pe?c.createElement($.FileListFooter,{displayText:q,remainingFilesCount:de,onClearAll:()=>{K()},onUploadAll:()=>{X()}}):null)})),{Container:O,DropZone:v,FileList:A,FileListHeader:M,FileListFooter:h,FilePicker:R});exports.StorageImage=a=>{var{accessLevel:t,className:r,fallbackSrc:n,identityId:i,imgKey:o,onStorageGetError:u}=a,m=e.__rest(a,["accessLevel","className","fallbackSrc","identityId","imgKey","onStorageGetError"]);const g=c.useMemo((()=>({level:t,identityId:i})),[t,i]),p=l.useStorageURL({key:o,options:g,fallbackURL:n,onStorageGetError:u});return c.createElement(s.Image,Object.assign({},m,{className:d.default(s.ComponentClassNames.StorageImage,r),src:p}))},exports.StorageManager=w;
|
package/dist/styles.css
CHANGED
|
@@ -531,6 +531,40 @@
|
|
|
531
531
|
--amplify-components-divider-small-border-width: var(--amplify-border-widths-small);
|
|
532
532
|
--amplify-components-divider-large-border-width: var(--amplify-border-widths-large);
|
|
533
533
|
--amplify-components-divider-opacity: var(--amplify-opacities-60);
|
|
534
|
+
--amplify-components-dropzone-background-color: var(--amplify-colors-background-primary);
|
|
535
|
+
--amplify-components-dropzone-border-radius: var(--amplify-radii-small);
|
|
536
|
+
--amplify-components-dropzone-border-color: var(--amplify-colors-border-primary);
|
|
537
|
+
--amplify-components-dropzone-border-style: dashed;
|
|
538
|
+
--amplify-components-dropzone-border-width: var(--amplify-border-widths-small);
|
|
539
|
+
--amplify-components-dropzone-color: var(--amplify-colors-font-primary);
|
|
540
|
+
--amplify-components-dropzone-gap: var(--amplify-space-small);
|
|
541
|
+
--amplify-components-dropzone-padding-block: var(--amplify-space-xl);
|
|
542
|
+
--amplify-components-dropzone-padding-inline: var(--amplify-space-large);
|
|
543
|
+
--amplify-components-dropzone-text-align: center;
|
|
544
|
+
--amplify-components-dropzone-active-background-color: var(--amplify-colors-brand-primary-10);
|
|
545
|
+
--amplify-components-dropzone-active-border-radius: var(--amplify-components-dropzone-border-radius);
|
|
546
|
+
--amplify-components-dropzone-active-border-color: var(--amplify-colors-border-pressed);
|
|
547
|
+
--amplify-components-dropzone-active-border-style: var(--amplify-components-dropzone-border-style);
|
|
548
|
+
--amplify-components-dropzone-active-border-width: var(--amplify-components-dropzone-border-width);
|
|
549
|
+
--amplify-components-dropzone-active-color: var(--amplify-colors-font-primary);
|
|
550
|
+
--amplify-components-dropzone-disabled-background-color: var(--amplify-colors-background-disabled);
|
|
551
|
+
--amplify-components-dropzone-disabled-border-radius: var(--amplify-components-dropzone-border-radius);
|
|
552
|
+
--amplify-components-dropzone-disabled-border-color: var(--amplify-colors-border-disabled);
|
|
553
|
+
--amplify-components-dropzone-disabled-border-style: var(--amplify-components-dropzone-border-style);
|
|
554
|
+
--amplify-components-dropzone-disabled-border-width: var(--amplify-components-dropzone-border-width);
|
|
555
|
+
--amplify-components-dropzone-disabled-color: var(--amplify-colors-font-disabled);
|
|
556
|
+
--amplify-components-dropzone-accepted-background-color: var(--amplify-colors-background-success);
|
|
557
|
+
--amplify-components-dropzone-accepted-border-radius: var(--amplify-components-dropzone-border-radius);
|
|
558
|
+
--amplify-components-dropzone-accepted-border-color: var(--amplify-colors-border-success);
|
|
559
|
+
--amplify-components-dropzone-accepted-border-style: var(--amplify-components-dropzone-border-style);
|
|
560
|
+
--amplify-components-dropzone-accepted-border-width: var(--amplify-components-dropzone-border-width);
|
|
561
|
+
--amplify-components-dropzone-accepted-color: var(--amplify-colors-font-success);
|
|
562
|
+
--amplify-components-dropzone-rejected-background-color: var(--amplify-colors-background-error);
|
|
563
|
+
--amplify-components-dropzone-rejected-border-radius: var(--amplify-components-dropzone-border-radius);
|
|
564
|
+
--amplify-components-dropzone-rejected-border-color: var(--amplify-colors-border-pressed);
|
|
565
|
+
--amplify-components-dropzone-rejected-border-style: var(--amplify-components-dropzone-border-style);
|
|
566
|
+
--amplify-components-dropzone-rejected-border-width: var(--amplify-components-dropzone-border-width);
|
|
567
|
+
--amplify-components-dropzone-rejected-color: var(--amplify-colors-font-error);
|
|
534
568
|
--amplify-components-expander-display: block;
|
|
535
569
|
--amplify-components-expander-background-color: var(--amplify-colors-background-primary);
|
|
536
570
|
--amplify-components-expander-border-radius: var(--amplify-radii-medium);
|
|
@@ -625,6 +659,24 @@
|
|
|
625
659
|
--amplify-components-fieldmessages-description-color: var(--amplify-colors-font-secondary);
|
|
626
660
|
--amplify-components-fieldmessages-description-font-style: italic;
|
|
627
661
|
--amplify-components-fieldmessages-description-font-size: var(--amplify-font-sizes-small);
|
|
662
|
+
--amplify-components-fieldset-background-color: transparent;
|
|
663
|
+
--amplify-components-fieldset-border-radius: var(--amplify-radii-xs);
|
|
664
|
+
--amplify-components-fieldset-flex-direction: column;
|
|
665
|
+
--amplify-components-fieldset-gap: var(--amplify-components-field-gap);
|
|
666
|
+
--amplify-components-fieldset-legend-color: var(--amplify-colors-font-primary);
|
|
667
|
+
--amplify-components-fieldset-legend-font-size: var(--amplify-components-field-font-size);
|
|
668
|
+
--amplify-components-fieldset-legend-font-weight: var(--amplify-font-weights-bold);
|
|
669
|
+
--amplify-components-fieldset-legend-line-height: var(--amplify-line-heights-medium);
|
|
670
|
+
--amplify-components-fieldset-legend-small-font-size: var(--amplify-components-field-small-font-size);
|
|
671
|
+
--amplify-components-fieldset-legend-large-font-size: var(--amplify-components-field-large-font-size);
|
|
672
|
+
--amplify-components-fieldset-outlined-padding: var(--amplify-space-medium);
|
|
673
|
+
--amplify-components-fieldset-outlined-border-color: var(--amplify-colors-neutral-40);
|
|
674
|
+
--amplify-components-fieldset-outlined-border-width: var(--amplify-border-widths-small);
|
|
675
|
+
--amplify-components-fieldset-outlined-border-style: solid;
|
|
676
|
+
--amplify-components-fieldset-outlined-small-padding: var(--amplify-space-small);
|
|
677
|
+
--amplify-components-fieldset-outlined-large-padding: var(--amplify-space-large);
|
|
678
|
+
--amplify-components-fieldset-small-gap: var(--amplify-components-field-small-gap);
|
|
679
|
+
--amplify-components-fieldset-large-gap: var(--amplify-components-field-large-gap);
|
|
628
680
|
--amplify-components-fileuploader-dropzone-background-color: var(--amplify-colors-background-primary);
|
|
629
681
|
--amplify-components-fileuploader-dropzone-border-radius: var(--amplify-radii-small);
|
|
630
682
|
--amplify-components-fileuploader-dropzone-border-color: var(--amplify-colors-border-primary);
|
|
@@ -726,6 +778,10 @@
|
|
|
726
778
|
--amplify-components-inappmessaging-dialog-width: 30vw;
|
|
727
779
|
--amplify-components-inappmessaging-header-font-size: var(--amplify-font-sizes-medium);
|
|
728
780
|
--amplify-components-inappmessaging-header-font-weight: var(--amplify-font-weights-extrabold);
|
|
781
|
+
--amplify-components-input-color: var(--amplify-components-fieldcontrol-color);
|
|
782
|
+
--amplify-components-input-border-color: var(--amplify-components-fieldcontrol-border-color);
|
|
783
|
+
--amplify-components-input-font-size: var(--amplify-components-fieldcontrol-font-size);
|
|
784
|
+
--amplify-components-input-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
|
|
729
785
|
--amplify-components-link-active-color: var(--amplify-colors-font-active);
|
|
730
786
|
--amplify-components-link-color: var(--amplify-colors-font-interactive);
|
|
731
787
|
--amplify-components-link-focus-color: var(--amplify-colors-font-focus);
|
|
@@ -775,6 +831,66 @@
|
|
|
775
831
|
--amplify-components-menu-item-min-height: 2.5rem;
|
|
776
832
|
--amplify-components-menu-item-padding-inline-start: var(--amplify-space-medium);
|
|
777
833
|
--amplify-components-menu-item-padding-inline-end: var(--amplify-space-medium);
|
|
834
|
+
--amplify-components-message-align-items: center;
|
|
835
|
+
--amplify-components-message-background-color: var(--amplify-colors-background-tertiary);
|
|
836
|
+
--amplify-components-message-border-color: transparent;
|
|
837
|
+
--amplify-components-message-border-style: solid;
|
|
838
|
+
--amplify-components-message-border-width: var(--amplify-border-widths-small);
|
|
839
|
+
--amplify-components-message-border-radius: var(--amplify-radii-xs);
|
|
840
|
+
--amplify-components-message-color: var(--amplify-colors-font-primary);
|
|
841
|
+
--amplify-components-message-justify-content: flex-start;
|
|
842
|
+
--amplify-components-message-padding-block: var(--amplify-space-small);
|
|
843
|
+
--amplify-components-message-padding-inline: var(--amplify-space-medium);
|
|
844
|
+
--amplify-components-message-line-height: var(--amplify-line-heights-small);
|
|
845
|
+
--amplify-components-message-icon-size: var(--amplify-font-sizes-xl);
|
|
846
|
+
--amplify-components-message-heading-font-size: var(--amplify-font-sizes-medium);
|
|
847
|
+
--amplify-components-message-heading-font-weight: var(--amplify-font-weights-bold);
|
|
848
|
+
--amplify-components-message-dismiss-gap: var(--amplify-space-xxs);
|
|
849
|
+
--amplify-components-message-plain-color: var(--amplify-colors-font-primary);
|
|
850
|
+
--amplify-components-message-plain-background-color: var(--amplify-colors-background-primary);
|
|
851
|
+
--amplify-components-message-plain-border-color: transparent;
|
|
852
|
+
--amplify-components-message-plain-info-color: var(--amplify-colors-font-info);
|
|
853
|
+
--amplify-components-message-plain-info-background-color: var(--amplify-colors-background-primary);
|
|
854
|
+
--amplify-components-message-plain-info-border-color: transparent;
|
|
855
|
+
--amplify-components-message-plain-error-color: var(--amplify-colors-font-error);
|
|
856
|
+
--amplify-components-message-plain-error-background-color: var(--amplify-colors-background-primary);
|
|
857
|
+
--amplify-components-message-plain-error-border-color: transparent;
|
|
858
|
+
--amplify-components-message-plain-success-color: var(--amplify-colors-font-success);
|
|
859
|
+
--amplify-components-message-plain-success-background-color: var(--amplify-colors-background-primary);
|
|
860
|
+
--amplify-components-message-plain-success-border-color: transparent;
|
|
861
|
+
--amplify-components-message-plain-warning-color: var(--amplify-colors-font-warning);
|
|
862
|
+
--amplify-components-message-plain-warning-background-color: var(--amplify-colors-background-primary);
|
|
863
|
+
--amplify-components-message-plain-warning-border-color: transparent;
|
|
864
|
+
--amplify-components-message-outlined-color: var(--amplify-colors-font-primary);
|
|
865
|
+
--amplify-components-message-outlined-background-color: var(--amplify-colors-background-primary);
|
|
866
|
+
--amplify-components-message-outlined-border-color: var(--amplify-colors-border-primary);
|
|
867
|
+
--amplify-components-message-outlined-info-color: var(--amplify-colors-font-info);
|
|
868
|
+
--amplify-components-message-outlined-info-background-color: var(--amplify-colors-background-primary);
|
|
869
|
+
--amplify-components-message-outlined-info-border-color: var(--amplify-colors-border-info);
|
|
870
|
+
--amplify-components-message-outlined-error-color: var(--amplify-colors-font-error);
|
|
871
|
+
--amplify-components-message-outlined-error-background-color: var(--amplify-colors-background-primary);
|
|
872
|
+
--amplify-components-message-outlined-error-border-color: var(--amplify-colors-border-error);
|
|
873
|
+
--amplify-components-message-outlined-success-color: var(--amplify-colors-font-success);
|
|
874
|
+
--amplify-components-message-outlined-success-background-color: var(--amplify-colors-background-primary);
|
|
875
|
+
--amplify-components-message-outlined-success-border-color: var(--amplify-colors-border-success);
|
|
876
|
+
--amplify-components-message-outlined-warning-color: var(--amplify-colors-font-warning);
|
|
877
|
+
--amplify-components-message-outlined-warning-background-color: var(--amplify-colors-background-primary);
|
|
878
|
+
--amplify-components-message-outlined-warning-border-color: var(--amplify-colors-border-warning);
|
|
879
|
+
--amplify-components-message-filled-color: var(--amplify-colors-font-primary);
|
|
880
|
+
--amplify-components-message-filled-background-color: var(--amplify-colors-background-secondary);
|
|
881
|
+
--amplify-components-message-filled-border-color: transparent;
|
|
882
|
+
--amplify-components-message-filled-info-color: var(--amplify-colors-font-info);
|
|
883
|
+
--amplify-components-message-filled-info-background-color: var(--amplify-colors-background-info);
|
|
884
|
+
--amplify-components-message-filled-info-border-color: transparent;
|
|
885
|
+
--amplify-components-message-filled-error-color: var(--amplify-colors-font-error);
|
|
886
|
+
--amplify-components-message-filled-error-background-color: var(--amplify-colors-background-error);
|
|
887
|
+
--amplify-components-message-filled-error-border-color: transparent;
|
|
888
|
+
--amplify-components-message-filled-success-color: var(--amplify-colors-font-success);
|
|
889
|
+
--amplify-components-message-filled-success-background-color: var(--amplify-colors-background-success);
|
|
890
|
+
--amplify-components-message-filled-success-border-color: transparent;
|
|
891
|
+
--amplify-components-message-filled-warning-color: var(--amplify-colors-font-warning);
|
|
892
|
+
--amplify-components-message-filled-warning-background-color: var(--amplify-colors-background-warning);
|
|
893
|
+
--amplify-components-message-filled-warning-border-color: transparent;
|
|
778
894
|
--amplify-components-pagination-current-align-items: center;
|
|
779
895
|
--amplify-components-pagination-current-justify-content: center;
|
|
780
896
|
--amplify-components-pagination-current-color: var(--amplify-colors-font-inverse);
|
|
@@ -1014,12 +1130,7 @@
|
|
|
1014
1130
|
--amplify-components-storagemanager-previewer-body-padding-block: var(--amplify-space-medium);
|
|
1015
1131
|
--amplify-components-storagemanager-previewer-body-padding-inline: var(--amplify-space-medium);
|
|
1016
1132
|
--amplify-components-storagemanager-previewer-body-gap: var(--amplify-space-small);
|
|
1017
|
-
--amplify-components-storagemanager-previewer-footer-
|
|
1018
|
-
--amplify-components-storagemanager-previewer-footer-border-style: solid;
|
|
1019
|
-
--amplify-components-storagemanager-previewer-footer-border-width: var(--amplify-border-widths-small);
|
|
1020
|
-
--amplify-components-storagemanager-previewer-footer-padding-block: var(--amplify-space-medium);
|
|
1021
|
-
--amplify-components-storagemanager-previewer-footer-padding-inline: var(--amplify-space-medium);
|
|
1022
|
-
--amplify-components-storagemanager-previewer-footer-justify-content: space-between;
|
|
1133
|
+
--amplify-components-storagemanager-previewer-footer-justify-content: flex-end;
|
|
1023
1134
|
--amplify-components-storagemanager-filelist-flex-direction: column;
|
|
1024
1135
|
--amplify-components-storagemanager-filelist-gap: var(--amplify-space-small);
|
|
1025
1136
|
--amplify-components-switchfield-disabled-opacity: var(--amplify-opacities-60);
|
|
@@ -1279,10 +1390,10 @@
|
|
|
1279
1390
|
--amplify-colors-background-tertiary: var(--amplify-colors-neutral-20);
|
|
1280
1391
|
--amplify-colors-background-quaternary: var(--amplify-colors-neutral-60);
|
|
1281
1392
|
--amplify-colors-background-disabled: var(--amplify-colors-background-tertiary);
|
|
1282
|
-
--amplify-colors-background-info: var(--amplify-colors-blue-
|
|
1283
|
-
--amplify-colors-background-warning: var(--amplify-colors-orange-
|
|
1284
|
-
--amplify-colors-background-error: var(--amplify-colors-red-
|
|
1285
|
-
--amplify-colors-background-success: var(--amplify-colors-green-
|
|
1393
|
+
--amplify-colors-background-info: var(--amplify-colors-blue-10);
|
|
1394
|
+
--amplify-colors-background-warning: var(--amplify-colors-orange-10);
|
|
1395
|
+
--amplify-colors-background-error: var(--amplify-colors-red-10);
|
|
1396
|
+
--amplify-colors-background-success: var(--amplify-colors-green-10);
|
|
1286
1397
|
--amplify-colors-border-primary: var(--amplify-colors-neutral-60);
|
|
1287
1398
|
--amplify-colors-border-secondary: var(--amplify-colors-neutral-40);
|
|
1288
1399
|
--amplify-colors-border-tertiary: var(--amplify-colors-neutral-20);
|
|
@@ -1290,6 +1401,9 @@
|
|
|
1290
1401
|
--amplify-colors-border-pressed: var(--amplify-colors-brand-primary-100);
|
|
1291
1402
|
--amplify-colors-border-focus: var(--amplify-colors-brand-primary-100);
|
|
1292
1403
|
--amplify-colors-border-error: var(--amplify-colors-red-80);
|
|
1404
|
+
--amplify-colors-border-info: var(--amplify-colors-blue-80);
|
|
1405
|
+
--amplify-colors-border-success: var(--amplify-colors-green-80);
|
|
1406
|
+
--amplify-colors-border-warning: var(--amplify-colors-orange-80);
|
|
1293
1407
|
--amplify-colors-shadow-primary: hsla(210, 50%, 10%, 0.25);
|
|
1294
1408
|
--amplify-colors-shadow-secondary: hsla(210, 50%, 10%, 0.15);
|
|
1295
1409
|
--amplify-colors-shadow-tertiary: hsla(210, 50%, 10%, 0.05);
|
|
@@ -2659,6 +2773,52 @@ strong.amplify-text {
|
|
|
2659
2773
|
transition: none;
|
|
2660
2774
|
}
|
|
2661
2775
|
}
|
|
2776
|
+
.amplify-dropzone {
|
|
2777
|
+
display: block;
|
|
2778
|
+
background-color: var(--amplify-components-dropzone-background-color);
|
|
2779
|
+
border-color: var(--amplify-components-dropzone-border-color);
|
|
2780
|
+
border-width: var(--amplify-components-dropzone-border-width);
|
|
2781
|
+
border-style: var(--amplify-components-dropzone-border-style);
|
|
2782
|
+
border-radius: var(--amplify-components-dropzone-border-radius);
|
|
2783
|
+
color: var(--amplify-components-dropzone-color);
|
|
2784
|
+
padding-block: var(--amplify-components-dropzone-padding-block);
|
|
2785
|
+
padding-inline: var(--amplify-components-dropzone-padding-inline);
|
|
2786
|
+
text-align: var(--amplify-components-dropzone-text-align);
|
|
2787
|
+
}
|
|
2788
|
+
.amplify-dropzone--disabled {
|
|
2789
|
+
cursor: not-allowed;
|
|
2790
|
+
background-color: var(--amplify-components-dropzone-disabled-background-color);
|
|
2791
|
+
border-color: var(--amplify-components-dropzone-disabled-border-color);
|
|
2792
|
+
border-width: var(--amplify-components-dropzone-disabled-border-width);
|
|
2793
|
+
border-style: var(--amplify-components-dropzone-disabled-border-style);
|
|
2794
|
+
border-radius: var(--amplify-components-dropzone-disabled-border-radius);
|
|
2795
|
+
color: var(--amplify-components-dropzone-disabled-color);
|
|
2796
|
+
}
|
|
2797
|
+
.amplify-dropzone--active {
|
|
2798
|
+
background-color: var(--amplify-components-dropzone-active-background-color);
|
|
2799
|
+
border-color: var(--amplify-components-dropzone-active-border-color);
|
|
2800
|
+
border-width: var(--amplify-components-dropzone-active-border-width);
|
|
2801
|
+
border-style: var(--amplify-components-dropzone-active-border-style);
|
|
2802
|
+
border-radius: var(--amplify-components-dropzone-active-border-radius);
|
|
2803
|
+
color: var(--amplify-components-dropzone-active-color);
|
|
2804
|
+
}
|
|
2805
|
+
.amplify-dropzone--rejected {
|
|
2806
|
+
background-color: var(--amplify-components-dropzone-rejected-background-color);
|
|
2807
|
+
border-color: var(--amplify-components-dropzone-rejected-border-color);
|
|
2808
|
+
border-width: var(--amplify-components-dropzone-rejected-border-width);
|
|
2809
|
+
border-style: var(--amplify-components-dropzone-rejected-border-style);
|
|
2810
|
+
border-radius: var(--amplify-components-dropzone-rejected-border-radius);
|
|
2811
|
+
color: var(--amplify-components-dropzone-rejected-color);
|
|
2812
|
+
}
|
|
2813
|
+
.amplify-dropzone--accepted {
|
|
2814
|
+
background-color: var(--amplify-components-dropzone-accepted-background-color);
|
|
2815
|
+
border-color: var(--amplify-components-dropzone-accepted-border-color);
|
|
2816
|
+
border-width: var(--amplify-components-dropzone-accepted-border-width);
|
|
2817
|
+
border-style: var(--amplify-components-dropzone-accepted-border-style);
|
|
2818
|
+
border-radius: var(--amplify-components-dropzone-accepted-border-radius);
|
|
2819
|
+
color: var(--amplify-components-dropzone-accepted-color);
|
|
2820
|
+
}
|
|
2821
|
+
|
|
2662
2822
|
.amplify-field__description {
|
|
2663
2823
|
color: var(--amplify-components-fieldmessages-description-color);
|
|
2664
2824
|
font-style: var(--amplify-components-fieldmessages-description-font-style);
|
|
@@ -2757,6 +2917,18 @@ strong.amplify-text {
|
|
|
2757
2917
|
-moz-user-select: text;
|
|
2758
2918
|
user-select: text;
|
|
2759
2919
|
display: inline-block;
|
|
2920
|
+
--amplify-components-fieldcontrol-color: var(
|
|
2921
|
+
--amplify-components-input-color
|
|
2922
|
+
);
|
|
2923
|
+
--amplify-components-fieldcontrol-border-color: var(
|
|
2924
|
+
--amplify-components-input-border-color
|
|
2925
|
+
);
|
|
2926
|
+
--amplify-components-fieldcontrol-font-size: var(
|
|
2927
|
+
--amplify-components-input-font-size
|
|
2928
|
+
);
|
|
2929
|
+
--amplify-components-fieldcontrol-focus-border-color: var(
|
|
2930
|
+
--amplify-components-input-focus-border-color
|
|
2931
|
+
);
|
|
2760
2932
|
}
|
|
2761
2933
|
.amplify-input:focus {
|
|
2762
2934
|
border-color: var(--amplify-components-fieldcontrol-focus-border-color);
|
|
@@ -3827,6 +3999,44 @@ html[dir=rtl] .amplify-field-group__inner-start {
|
|
|
3827
3999
|
height: 100%;
|
|
3828
4000
|
}
|
|
3829
4001
|
|
|
4002
|
+
.amplify-fieldset {
|
|
4003
|
+
background-color: var(--amplify-components-fieldset-background-color);
|
|
4004
|
+
border-radius: var(--amplify-components-fieldset-border-radius);
|
|
4005
|
+
flex-direction: var(--amplify-components-fieldset-flex-direction);
|
|
4006
|
+
gap: var(--amplify-components-fieldset-gap);
|
|
4007
|
+
/* Sizes */
|
|
4008
|
+
/* Variations */
|
|
4009
|
+
}
|
|
4010
|
+
.amplify-fieldset--small {
|
|
4011
|
+
gap: var(--amplify-components-fieldset-small-gap);
|
|
4012
|
+
}
|
|
4013
|
+
.amplify-fieldset--large {
|
|
4014
|
+
gap: var(--amplify-components-fieldset-large-gap);
|
|
4015
|
+
}
|
|
4016
|
+
.amplify-fieldset--outlined {
|
|
4017
|
+
border: var(--amplify-components-fieldset-outlined-border-width) var(--amplify-components-fieldset-outlined-border-style) var(--amplify-components-fieldset-outlined-border-color);
|
|
4018
|
+
padding: var(--amplify-components-fieldset-outlined-padding);
|
|
4019
|
+
}
|
|
4020
|
+
.amplify-fieldset--outlined.amplify-fieldset--small {
|
|
4021
|
+
padding: var(--amplify-components-fieldset-outlined-small-padding);
|
|
4022
|
+
}
|
|
4023
|
+
.amplify-fieldset--outlined.amplify-fieldset--large {
|
|
4024
|
+
padding: var(--amplify-components-fieldset-outlined-large-padding);
|
|
4025
|
+
}
|
|
4026
|
+
|
|
4027
|
+
.amplify-fieldset__legend {
|
|
4028
|
+
color: var(--amplify-components-fieldset-legend-color);
|
|
4029
|
+
font-weight: var(--amplify-components-fieldset-legend-font-weight);
|
|
4030
|
+
line-height: var(--amplify-components-fieldset-legend-line-height);
|
|
4031
|
+
font-size: var(--amplify-components-fieldset-legend-font-size);
|
|
4032
|
+
}
|
|
4033
|
+
.amplify-fieldset__legend--small {
|
|
4034
|
+
font-size: var(--amplify-components-fieldset-legend-small-font-size);
|
|
4035
|
+
}
|
|
4036
|
+
.amplify-fieldset__legend--large {
|
|
4037
|
+
font-size: var(--amplify-components-fieldset-legend-large-font-size);
|
|
4038
|
+
}
|
|
4039
|
+
|
|
3830
4040
|
.amplify-liveness-cancel-container {
|
|
3831
4041
|
z-index: 2;
|
|
3832
4042
|
position: absolute;
|
|
@@ -4406,6 +4616,119 @@ html[dir=rtl] .amplify-field-group__inner-start {
|
|
|
4406
4616
|
}
|
|
4407
4617
|
}
|
|
4408
4618
|
|
|
4619
|
+
.amplify-message {
|
|
4620
|
+
align-items: var(--amplify-components-message-align-items);
|
|
4621
|
+
background-color: var(--amplify-components-message-background-color);
|
|
4622
|
+
color: var(--amplify-components-message-color);
|
|
4623
|
+
justify-content: var(--amplify-components-message-justify-content);
|
|
4624
|
+
padding-block: var(--amplify-components-message-padding-block);
|
|
4625
|
+
padding-inline: var(--amplify-components-message-padding-inline);
|
|
4626
|
+
border-color: var(--amplify-components-message-border-color);
|
|
4627
|
+
border-radius: var(--amplify-components-message-border-radius);
|
|
4628
|
+
border-style: var(--amplify-components-message-border-style);
|
|
4629
|
+
border-width: var(--amplify-components-message-border-width);
|
|
4630
|
+
line-height: var(--amplify-components-message-line-height);
|
|
4631
|
+
}
|
|
4632
|
+
.amplify-message--plain {
|
|
4633
|
+
background-color: var(--amplify-components-message-plain-background-color);
|
|
4634
|
+
border-color: var(--amplify-components-message-plain-border-color);
|
|
4635
|
+
color: var(--amplify-components-message-plain-color);
|
|
4636
|
+
}
|
|
4637
|
+
.amplify-message--plain.amplify-message--info {
|
|
4638
|
+
background-color: var(--amplify-components-message-plain-info-background-color);
|
|
4639
|
+
border-color: var(--amplify-components-message-plain-info-border-color);
|
|
4640
|
+
color: var(--amplify-components-message-plain-info-color);
|
|
4641
|
+
}
|
|
4642
|
+
.amplify-message--plain.amplify-message--error {
|
|
4643
|
+
background-color: var(--amplify-components-message-plain-error-background-color);
|
|
4644
|
+
border-color: var(--amplify-components-message-plain-error-border-color);
|
|
4645
|
+
color: var(--amplify-components-message-plain-error-color);
|
|
4646
|
+
}
|
|
4647
|
+
.amplify-message--plain.amplify-message--warning {
|
|
4648
|
+
background-color: var(--amplify-components-message-plain-warning-background-color);
|
|
4649
|
+
border-color: var(--amplify-components-message-plain-warning-border-color);
|
|
4650
|
+
color: var(--amplify-components-message-plain-warning-color);
|
|
4651
|
+
}
|
|
4652
|
+
.amplify-message--plain.amplify-message--success {
|
|
4653
|
+
background-color: var(--amplify-components-message-plain-success-background-color);
|
|
4654
|
+
border-color: var(--amplify-components-message-plain-success-border-color);
|
|
4655
|
+
color: var(--amplify-components-message-plain-success-color);
|
|
4656
|
+
}
|
|
4657
|
+
.amplify-message--outlined {
|
|
4658
|
+
background-color: var(--amplify-components-message-outlined-background-color);
|
|
4659
|
+
border-color: var(--amplify-components-message-outlined-border-color);
|
|
4660
|
+
color: var(--amplify-components-message-outlined-color);
|
|
4661
|
+
}
|
|
4662
|
+
.amplify-message--outlined.amplify-message--info {
|
|
4663
|
+
background-color: var(--amplify-components-message-outlined-info-background-color);
|
|
4664
|
+
border-color: var(--amplify-components-message-outlined-info-border-color);
|
|
4665
|
+
color: var(--amplify-components-message-outlined-info-color);
|
|
4666
|
+
}
|
|
4667
|
+
.amplify-message--outlined.amplify-message--error {
|
|
4668
|
+
background-color: var(--amplify-components-message-outlined-error-background-color);
|
|
4669
|
+
border-color: var(--amplify-components-message-outlined-error-border-color);
|
|
4670
|
+
color: var(--amplify-components-message-outlined-error-color);
|
|
4671
|
+
}
|
|
4672
|
+
.amplify-message--outlined.amplify-message--warning {
|
|
4673
|
+
background-color: var(--amplify-components-message-outlined-warning-background-color);
|
|
4674
|
+
border-color: var(--amplify-components-message-outlined-warning-border-color);
|
|
4675
|
+
color: var(--amplify-components-message-outlined-warning-color);
|
|
4676
|
+
}
|
|
4677
|
+
.amplify-message--outlined.amplify-message--success {
|
|
4678
|
+
background-color: var(--amplify-components-message-outlined-success-background-color);
|
|
4679
|
+
border-color: var(--amplify-components-message-outlined-success-border-color);
|
|
4680
|
+
color: var(--amplify-components-message-outlined-success-color);
|
|
4681
|
+
}
|
|
4682
|
+
.amplify-message--filled {
|
|
4683
|
+
background-color: var(--amplify-components-message-filled-background-color);
|
|
4684
|
+
border-color: var(--amplify-components-message-filled-border-color);
|
|
4685
|
+
color: var(--amplify-components-message-filled-color);
|
|
4686
|
+
}
|
|
4687
|
+
.amplify-message--filled.amplify-message--info {
|
|
4688
|
+
background-color: var(--amplify-components-message-filled-info-background-color);
|
|
4689
|
+
border-color: var(--amplify-components-message-filled-info-border-color);
|
|
4690
|
+
color: var(--amplify-components-message-filled-info-color);
|
|
4691
|
+
}
|
|
4692
|
+
.amplify-message--filled.amplify-message--error {
|
|
4693
|
+
background-color: var(--amplify-components-message-filled-error-background-color);
|
|
4694
|
+
border-color: var(--amplify-components-message-filled-error-border-color);
|
|
4695
|
+
color: var(--amplify-components-message-filled-error-color);
|
|
4696
|
+
}
|
|
4697
|
+
.amplify-message--filled.amplify-message--warning {
|
|
4698
|
+
background-color: var(--amplify-components-message-filled-warning-background-color);
|
|
4699
|
+
border-color: var(--amplify-components-message-filled-warning-border-color);
|
|
4700
|
+
color: var(--amplify-components-message-filled-warning-color);
|
|
4701
|
+
}
|
|
4702
|
+
.amplify-message--filled.amplify-message--success {
|
|
4703
|
+
background-color: var(--amplify-components-message-filled-success-background-color);
|
|
4704
|
+
border-color: var(--amplify-components-message-filled-success-border-color);
|
|
4705
|
+
color: var(--amplify-components-message-filled-success-color);
|
|
4706
|
+
}
|
|
4707
|
+
|
|
4708
|
+
.amplify-message__icon {
|
|
4709
|
+
font-size: var(--amplify-components-message-icon-size);
|
|
4710
|
+
}
|
|
4711
|
+
.amplify-message__icon > * {
|
|
4712
|
+
display: block;
|
|
4713
|
+
}
|
|
4714
|
+
|
|
4715
|
+
.amplify-message__heading {
|
|
4716
|
+
font-weight: var(--amplify-components-message-heading-font-weight);
|
|
4717
|
+
font-size: var(--amplify-components-message-heading-font-size);
|
|
4718
|
+
}
|
|
4719
|
+
|
|
4720
|
+
.amplify-message__content {
|
|
4721
|
+
flex: 1;
|
|
4722
|
+
flex-direction: column;
|
|
4723
|
+
gap: var(--amplify-space-xxxs);
|
|
4724
|
+
}
|
|
4725
|
+
|
|
4726
|
+
.amplify-message__dismiss {
|
|
4727
|
+
-webkit-margin-start: auto;
|
|
4728
|
+
margin-inline-start: auto;
|
|
4729
|
+
gap: var(--amplify-components-message-dismiss-gap);
|
|
4730
|
+
}
|
|
4731
|
+
|
|
4409
4732
|
.amplify-pagination__item-current, .amplify-pagination__item-button {
|
|
4410
4733
|
height: var(--amplify-components-pagination-item-shared-height);
|
|
4411
4734
|
min-width: var(--amplify-components-pagination-item-shared-min-width);
|
|
@@ -6195,6 +6518,16 @@ html[dir=rtl] .amplify-field-group__inner-start {
|
|
|
6195
6518
|
font-size: var(--amplify-components-storagemanager-previewer-text-font-size);
|
|
6196
6519
|
color: var(--amplify-components-storagemanager-previewer-text-color);
|
|
6197
6520
|
}
|
|
6521
|
+
.amplify-storagemanager__previewer__footer {
|
|
6522
|
+
display: flex;
|
|
6523
|
+
flex-direction: row;
|
|
6524
|
+
justify-content: var(--amplify-components-storagemanager-previewer-footer-justify-content);
|
|
6525
|
+
}
|
|
6526
|
+
.amplify-storagemanager__previewer__actions {
|
|
6527
|
+
display: flex;
|
|
6528
|
+
flex-direction: row;
|
|
6529
|
+
gap: var(--amplify-space-small);
|
|
6530
|
+
}
|
|
6198
6531
|
|
|
6199
6532
|
[data-label-position=start] {
|
|
6200
6533
|
flex-direction: row;
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/ui-react-storage",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/esm/index.mjs",
|
|
6
6
|
"exports": {
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"typecheck": "tsc --noEmit"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@aws-amplify/ui": "5.
|
|
44
|
-
"@aws-amplify/ui-react": "5.
|
|
45
|
-
"@aws-amplify/ui-react-core": "2.1.
|
|
43
|
+
"@aws-amplify/ui": "5.8.0",
|
|
44
|
+
"@aws-amplify/ui-react": "5.3.0",
|
|
45
|
+
"@aws-amplify/ui-react-core": "2.1.32",
|
|
46
46
|
"classnames": "2.3.1",
|
|
47
47
|
"lodash": "4.17.21",
|
|
48
48
|
"tslib": "2.4.1"
|
|
@@ -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
|
-
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;
|