@aws-amplify/ui-react-storage 0.0.0-studio-0fc3ce7-20230602222459 → 0.0.0-studio-41bd6b8-20230725225637

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.
@@ -0,0 +1 @@
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 +1 @@
1
- import*as e from"react";import{Logger as i}from"aws-amplify";import{ComponentClassNames as o,VisuallyHidden as r}from"@aws-amplify/ui-react";import{useDropZone as s}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 m}from"./ui/FileList/FileList.js";import{FileListHeader as u}from"./ui/FileListHeader/FileListHeader.js";import{FilePicker as c}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");function U({acceptedFileTypes:i=[],accessLevel:U,defaultFiles:h,displayText:x,isResumable:S=!1,maxFileCount:j,maxFileSize:y,onUploadError:E,onUploadSuccess:k,onFileRemove:C,onUploadStart:L,showThumbnails:T=!0,processFile:b,components:v,provider:D,path:P}){U&&j||g.warn("FileUploader requires accessLevel and maxFileCount props");const w=Object.assign({Container:n,DropZone:p,FileList:m,FilePicker:c,FileListHeader:u},v),M=void 0===j||"number"==typeof j&&j>1,R=Object.assign(Object.assign({},f),x),{getFileSizeErrorText:Z}=R,O=e=>d({file:e,maxFileSize:y,getFileSizeErrorText:Z}),{addFiles:z,files:A,removeUpload:H,setUploadingFile:$,setUploadPaused:q,setUploadProgress:I,setUploadSuccess:N,setUploadResumed:B}=t(h),G=s({onChange:e=>{const{files:o}=e.dataTransfer;if(!o||0===o.length)return;const r=F(Array.from(o),i);z({files:r,getFileErrorMessage:O})}});l({accessLevel:U,files:A,isResumable:S,maxFileCount:j,onUploadError:E,onUploadSuccess:k,onUploadStart:L,setUploadingFile:$,setUploadProgress:I,setUploadSuccess:N,processFile:b,provider:D,path:P});const J=0!==A.length&&A.every((e=>(null==e?void 0:e.status)===a.UPLOADED)),K=A.filter((e=>e.progress<100)).length>j,Q=A.filter((e=>(null==e?void 0:e.status)===a.UPLOADED)).length,V=A.length-Q,W=A.length>0,X=e.useRef(null);return e.createElement(w.Container,{className:`${o.StorageManager} ${W?o.StorageManagerPreviewer:""}`},e.createElement(w.DropZone,Object.assign({},G,{displayText:R}),e.createElement(e.Fragment,null,e.createElement(w.FilePicker,{onClick:function(){X.current&&(X.current.click(),X.current.value="")}},R.browseFilesText),e.createElement(r,null,e.createElement("input",{type:"file",tabIndex:-1,ref:X,onChange:e=>{const{files:i}=e.target;i&&0!==i.length&&z({files:Array.from(i),getFileErrorMessage:O})},multiple:M,accept:i.join(",")})))),W?e.createElement(w.FileListHeader,{allUploadsSuccessful:J,displayText:R,fileCount:A.length,remainingFilesCount:V}):null,e.createElement(w.FileList,{displayText:R,files:A,isResumable:S,onCancelUpload:({id:e,uploadTask:i})=>{i.pause(),H({id:e})},onDeleteUpload:({id:e})=>{if(H({id:e}),"function"==typeof C){const i=A.find((i=>i.id===e));i&&C({key:i.key})}},onResume:({id:e,uploadTask:i})=>{i.resume(),B({id:e})},onPause:({id:e,uploadTask:i})=>{i.pause(),q({id:e})},showThumbnails:T,hasMaxFilesError:K,maxFileCount:j}))}U.Container=n,U.DropZone=p,U.FileList=m,U.FileListHeader=u,U.FilePicker=c;export{U as StorageManager};
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 +1 @@
1
- import{StorageManagerActionTypes as e}from"./types.js";const s=({files:s,getFileErrorMessage:t})=>({type:e.ADD_FILES,files:s,getFileErrorMessage:t}),t=({id:s,uploadTask:t})=>({type:e.SET_STATUS_UPLOADING,id:s,uploadTask:t}),i=({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}),p=({id:s})=>({type:e.REMOVE_UPLOAD,id:s});export{s as addFilesAction,p as removeUploadAction,i as setUploadProgressAction,r as setUploadStatusAction,t as setUploadingFileAction};
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 +1 @@
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.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
+ 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 +1 @@
1
- var S;!function(S){S.ADD_FILES="ADD_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
+ 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 +1 @@
1
- import s from"react";import{FileStatus as e}from"../../types.js";import{storageManagerStateReducer as i}from"./reducer.js";import{addFilesAction as r,setUploadingFileAction as t,setUploadProgressAction as o,setUploadStatusAction as d,removeUploadAction as a}from"./actions.js";import{isObject as l}from"@aws-amplify/ui";const p=s=>(s=>!(!l(s)||!s.key))(s)?Object.assign(Object.assign({},s),{id:s.key,status:e.UPLOADED}):void 0;function u(l=[]){const[{files:u},m]=s.useReducer(i,{files:Array.isArray(l)?l.map(p).filter((s=>!!s)):[]});return{removeUpload:({id:s})=>{m(a({id:s}))},setUploadPaused:({id:s})=>{m(d({id:s,status:e.PAUSED}))},setUploadProgress:({progress:s,id:e})=>{m(o({id:e,progress:s}))},setUploadResumed:({id:s})=>{m(d({id:s,status:e.UPLOADING}))},setUploadSuccess:({id:s})=>{m(d({id:s,status:e.UPLOADED}))},setUploadingFile:({uploadTask:s,id:e})=>{m(t({id:e,uploadTask:s}))},addFiles:({files:s,getFileErrorMessage:e})=>{m(r({files:s,getFileErrorMessage:e}))},files:u}}export{u as useStorageManager};
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};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{StorageManager}from"./components/StorageManager/StorageManager.js";
1
+ export{StorageImage}from"./components/StorageImage/StorageImage.js";export{StorageManager}from"./components/StorageManager/StorageManager.js";
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("aws-amplify"),t=require("@aws-amplify/ui-react"),s=require("@aws-amplify/ui"),l=require("tslib"),r=require("classnames"),n=require("@aws-amplify/ui-react/internal");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,u,d=o(e),p=i(e),m=o(r);function g(e,a){switch(a.type){case u.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?c.ERROR:c.QUEUED,isImage:e.type.startsWith("image/"),progress:-1}})),l=[...e.files,...s];return Object.assign(Object.assign({},e),{files:l})}case u.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:c.UPLOADING,progress:0,uploadTask:s||void 0})]:[...e,a]),[]);return Object.assign(Object.assign({},e),{files:r})}case u.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 u.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 u.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"}(c||(c={})),function(e){e.ADD_FILES="ADD_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"}(u||(u={}));const f=({files:e,getFileErrorMessage:a})=>({type:u.ADD_FILES,files:e,getFileErrorMessage:a}),E=({id:e,uploadTask:a})=>({type:u.SET_STATUS_UPLOADING,id:e,uploadTask:a}),S=({id:e,progress:a})=>({type:u.SET_UPLOAD_PROGRESS,id:e,progress:a}),T=({id:e,status:a})=>({type:u.SET_STATUS,id:e,status:a}),U=({id:e})=>({type:u.REMOVE_UPLOAD,id:e}),C=e=>(e=>!(!s.isObject(e)||!e.key))(e)?Object.assign(Object.assign({},e),{id:e.key,status:c.UPLOADED}):void 0;function D(e){var{file:t,key:s,level:r="private",progressCallback:n,errorCallback:o,completeCallback:i,isResumable:c=!1,provider:u}=e,d=l.__rest(e,["file","key","level","progressCallback","errorCallback","completeCallback","isResumable","provider"]);const p=t.type||"binary/octet-stream";return!0===c?a.Storage.put(s,t,Object.assign({level:r,resumable:!0,progressCallback:n,errorCallback:o,completeCallback:i,contentType:p,provider:u},d)):a.Storage.put(s,t,Object.assign({level:r,resumable:!1,progressCallback:n,contentType:p,provider:u},d)).then(i,o)}const F=({processFile:e,file:a,key:t})=>new Promise(((l,r)=>{const n=s.isFunction(e)?e({file:a,key:t}):{file:a,key:t};n instanceof Promise?n.then(l).catch(r):l(n)}));function b({children:e,className:a}){return d.default.createElement(t.View,{className:a},e)}function x({children:e,displayText:a,inDropZone:l,onDragEnter:r,onDragLeave:o,onDragOver:i,onDragStart:c,onDrop:u,testId:p}){const{dropFilesText:g}=a;return d.default.createElement(t.View,{className:m.default(l&&s.classNameModifier(t.ComponentClassNames.StorageManagerDropZone,"active"),t.ComponentClassNames.StorageManagerDropZone),"data-testid":p,onDragStart:c,onDragEnter:r,onDragLeave:o,onDrop:u,onDragOver:i},d.default.createElement(n.IconUpload,{"aria-hidden":!0,className:t.ComponentClassNames.StorageManagerDropZoneIcon}),d.default.createElement(t.Text,{className:t.ComponentClassNames.StorageManagerDropZoneText},g),e)}const O=({errorMessage:e,getPausedText:a,getUploadingText:l,percentage:r,status:o,uploadSuccessfulText:i})=>{switch(o){case c.UPLOADING:return d.default.createElement(t.Text,{className:t.ComponentClassNames.StorageManagerFileStatus},l(r));case c.PAUSED:return d.default.createElement(t.Text,{className:t.ComponentClassNames.StorageManagerFileStatus},a(r));case c.UPLOADED:return d.default.createElement(t.Text,{className:m.default(t.ComponentClassNames.StorageManagerFileStatus,s.classNameModifier(t.ComponentClassNames.StorageManagerFileStatus,"success"))},d.default.createElement(n.IconCheck,{fontSize:"xl"})," ",i);case c.ERROR:return d.default.createElement(t.Text,{className:m.default(t.ComponentClassNames.StorageManagerFileStatus,s.classNameModifier(t.ComponentClassNames.StorageManagerFileStatus,"error"))},d.default.createElement(n.IconError,{fontSize:"xl"})," ",e);default:return null}},P=({altText:e,onClick:a})=>d.default.createElement(t.Button,{size:"small",onClick:a},d.default.createElement(t.VisuallyHidden,null,e),d.default.createElement(n.IconClose,{"aria-hidden":!0,fontSize:"medium"})),N=({displayName:e,fileSize:a})=>d.default.createElement(d.default.Fragment,null,d.default.createElement(t.View,{className:t.ComponentClassNames.StorageManagerFileMain},d.default.createElement(t.Text,{className:t.ComponentClassNames.StorageManagerFileName},e)),d.default.createElement(t.Text,{as:"span",className:t.ComponentClassNames.StorageManagerFileSize},a?s.humanFileSize(a,!0):"")),y=({fileName:e,isImage:a,url:s})=>{const l=a?d.default.createElement(t.Image,{alt:e,src:s}):d.default.createElement(n.IconFile,null);return d.default.createElement(t.View,{className:t.ComponentClassNames.StorageManagerFileImage},l)};function k({onPause:e,onResume:a,displayName:s,errorMessage:l,isImage:r,isResumable:n,loaderIsDeterminate:o,onRemove:i,progress:u,showThumbnails:p=!0,size:m,status:g,displayText:f,thumbnailUrl:E}){const{getPausedText:S,getUploadingText:T,uploadSuccessfulText:U,pauseText:C,resumeText:D}=f;return d.default.createElement(t.View,{className:t.ComponentClassNames.StorageManagerFile},d.default.createElement(t.View,{className:t.ComponentClassNames.StorageManagerFileWrapper},p?d.default.createElement(y,{isImage:r,fileName:s,url:E}):null,d.default.createElement(N,{displayName:s,fileSize:m}),g===c.UPLOADING?d.default.createElement(t.Loader,{className:t.ComponentClassNames.StorageManagerLoader,variation:"linear",percentage:u,isDeterminate:o,isPercentageTextHidden:!0}):null,!n||g!==c.UPLOADING&&g!==c.PAUSED?null:g===c.PAUSED?d.default.createElement(t.Button,{onClick:a,size:"small",variation:"link"},D):d.default.createElement(t.Button,{onClick:e,size:"small",variation:"link"},C),d.default.createElement(P,{altText:`Remove file ${s}`,onClick:i})),d.default.createElement(O,{uploadSuccessfulText:U,getUploadingText:T,getPausedText:S,status:g,errorMessage:l,percentage:u}))}function h({displayText:e,files:a,hasMaxFilesError:s,isResumable:l,onCancelUpload:r,onDeleteUpload:n,onResume:o,onPause:i,showThumbnails:u,maxFileCount:p}){if(a.length<1)return null;const{getMaxFilesErrorText:m}=e,g=m(p);return d.default.createElement(t.View,{className:t.ComponentClassNames.StorageManagerFileList},a.map((a=>{const{file:t,status:s,progress:p,error:m,key:g,isImage:f,id:E,uploadTask:S}=a,T=t&&f?URL.createObjectURL(t):"",U=!l||p>0,C=s===c.UPLOADING;return d.default.createElement(k,{displayName:g,errorMessage:m,displayText:e,isImage:f,isUploading:C,isResumable:l,key:E,loaderIsDeterminate:U,onRemove:()=>{l&&(s===c.UPLOADING||s===c.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:p,showThumbnails:u,size:null==t?void 0:t.size,status:s,thumbnailUrl:T})})),s&&d.default.createElement(t.Alert,{variation:"error",heading:g}))}function v({fileCount:e,remainingFilesCount:a,displayText:s,allUploadsSuccessful:l}){const{getFilesUploadedText:r,getRemainingFilesText:n}=s;return d.default.createElement(t.Text,{className:t.ComponentClassNames.StorageManagerPreviewerText},l?r(e):n(a))}function M(e){var{children:a,className:s=t.ComponentClassNames.StorageManagerFilePicker,size:r="small"}=e,n=l.__rest(e,["children","className","size"]);return d.default.createElement(t.Button,Object.assign({},n,{className:s,size:r}),a)}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)):"",L={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}%`},R=new a.Logger("Storage.StorageManager");function _({acceptedFileTypes:a=[],accessLevel:s,defaultFiles:r,displayText:n,isResumable:o=!1,maxFileCount:i,maxFileSize:u,onUploadError:m,onUploadSuccess:O,onFileRemove:P,onUploadStart:N,showThumbnails:y=!0,processFile:k,components:_,provider:j,path:w}){s&&i||R.warn("FileUploader requires accessLevel and maxFileCount props");const I=Object.assign({Container:b,DropZone:x,FileList:h,FilePicker:M,FileListHeader:v},_),z=void 0===i||"number"==typeof i&&i>1,B=Object.assign(Object.assign({},L),n),{getFileSizeErrorText:G}=B,$=e=>A({file:e,maxFileSize:u,getFileSizeErrorText:G}),{addFiles:V,files:Z,removeUpload:q,setUploadingFile:H,setUploadPaused:W,setUploadProgress:Q,setUploadSuccess:Y,setUploadResumed:K}=function(e=[]){const[{files:a},t]=d.default.useReducer(g,{files:Array.isArray(e)?e.map(C).filter((e=>!!e)):[]});return{removeUpload:({id:e})=>{t(U({id:e}))},setUploadPaused:({id:e})=>{t(T({id:e,status:c.PAUSED}))},setUploadProgress:({progress:e,id:a})=>{t(S({id:a,progress:e}))},setUploadResumed:({id:e})=>{t(T({id:e,status:c.UPLOADING}))},setUploadSuccess:({id:e})=>{t(T({id:e,status:c.UPLOADED}))},setUploadingFile:({uploadTask:e,id:a})=>{t(E({id:a,uploadTask:e}))},addFiles:({files:e,getFileErrorMessage:a})=>{t(f({files:e,getFileErrorMessage:a}))},files:a}}(r),J=function({onChange:a}){const[t,s]=e.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:e=>{e.preventDefault(),e.stopPropagation(),s(!1),a(e)},inDropZone:t}}({onChange:e=>{const{files:t}=e.dataTransfer;if(!t||0===t.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(t),a);V({files:s,getFileErrorMessage:$})}});!function({files:e,accessLevel:a,isResumable:t,setUploadProgress:s,setUploadingFile:r,setUploadSuccess:n,onUploadError:o,onUploadSuccess:i,onUploadStart:u,maxFileCount:d,processFile:m,provider:g,path:f=""}){p.useEffect((()=>{const p=e.filter((e=>e.status===c.QUEUED));if(!(p.length>d))for(const{file:e,key:c,id:d}of p){const p=e=>{null==i||i(e),n({id:d})},E=e=>{const a=0===e.total?100:Math.floor(e.loaded/e.total*100);s({id:d,progress:a})},S=e=>{null==o||o(e,{key:c})};e&&F({processFile:m,file:e,key:c}).then((e=>{var{key:s}=e,n=l.__rest(e,["key"]);null==u||u({key:s});const o=D(Object.assign(Object.assign({},n),{isResumable:t,provider:g,key:f+s,level:a,completeCallback:p,progressCallback:E,errorCallback:S}));r({id:d,uploadTask:t?o:void 0})}))}}),[e,a,t,s,r,o,i,u,d,n,m,g,f])}({accessLevel:s,files:Z,isResumable:o,maxFileCount:i,onUploadError:m,onUploadSuccess:O,onUploadStart:N,setUploadingFile:H,setUploadProgress:Q,setUploadSuccess:Y,processFile:k,provider:j,path:w});const X=0!==Z.length&&Z.every((e=>(null==e?void 0:e.status)===c.UPLOADED)),ee=Z.filter((e=>e.progress<100)).length>i,ae=Z.filter((e=>(null==e?void 0:e.status)===c.UPLOADED)).length,te=Z.length-ae,se=Z.length>0,le=p.useRef(null);return p.createElement(I.Container,{className:`${t.ComponentClassNames.StorageManager} ${se?t.ComponentClassNames.StorageManagerPreviewer:""}`},p.createElement(I.DropZone,Object.assign({},J,{displayText:B}),p.createElement(p.Fragment,null,p.createElement(I.FilePicker,{onClick:function(){le.current&&(le.current.click(),le.current.value="")}},B.browseFilesText),p.createElement(t.VisuallyHidden,null,p.createElement("input",{type:"file",tabIndex:-1,ref:le,onChange:e=>{const{files:a}=e.target;a&&0!==a.length&&V({files:Array.from(a),getFileErrorMessage:$})},multiple:z,accept:a.join(",")})))),se?p.createElement(I.FileListHeader,{allUploadsSuccessful:X,displayText:B,fileCount:Z.length,remainingFilesCount:te}):null,p.createElement(I.FileList,{displayText:B,files:Z,isResumable:o,onCancelUpload:({id:e,uploadTask:a})=>{a.pause(),q({id:e})},onDeleteUpload:({id:e})=>{if(q({id:e}),"function"==typeof P){const a=Z.find((a=>a.id===e));a&&P({key:a.key})}},onResume:({id:e,uploadTask:a})=>{a.resume(),K({id:e})},onPause:({id:e,uploadTask:a})=>{a.pause(),W({id:e})},showThumbnails:y,hasMaxFilesError:ee,maxFileCount:i}))}_.Container=b,_.DropZone=x,_.FileList=h,_.FileListHeader=v,_.FilePicker=M,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 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 O({children:e,className:a}){return u.default.createElement(s.View,{className:a},e)}function x({children:e,displayText:a,inDropZone:t,onDragEnter:r,onDragLeave:o,onDragOver:i,onDragStart:c,onDrop:p,testId:m}){const{dropFilesText:g}=a;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(l.IconUpload,{"aria-hidden":!0,className:s.ComponentClassNames.StorageManagerDropZoneIcon}),u.default.createElement(s.Text,{className:s.ComponentClassNames.StorageManagerDropZoneText},g),e)}const y=({errorMessage:e,getPausedText:a,getUploadingText:t,percentage:r,status:o,uploadSuccessfulText:i})=>{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(l.IconCheck,{fontSize:"xl"})," ",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(l.IconError,{fontSize:"xl"})," ",e);default:return null}},N=({altText:e,onClick:a})=>u.default.createElement(s.Button,{size:"small",onClick:a},u.default.createElement(s.VisuallyHidden,null,e),u.default.createElement(l.IconClose,{"aria-hidden":!0,fontSize:"medium"})),P=({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})=>{const r=a?u.default.createElement(s.Image,{alt:e,src:t}):u.default.createElement(l.IconFile,null);return u.default.createElement(s.View,{className:s.ComponentClassNames.StorageManagerFileImage},r)};function v({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(k,{isImage:r,fileName:t,url:E}):null,u.default.createElement(P,{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(N,{altText:`Remove file ${t}`,onClick:i})),u.default.createElement(y,{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(v,{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:y,onFileRemove:N,onUploadStart:P,showThumbnails:k=!0,processFile:v,components:_,provider:j,path:w},z){l&&i||I.warn("FileUploader requires accessLevel and maxFileCount props");const B=Object.assign({Container:O,DropZone:x,FileList:L,FilePicker:M,FileListHeader:h},_),G=void 0===i||"number"==typeof i&&i>1,$=Object.assign(Object.assign({},R),n),{getFileSizeErrorText:V}=$,Z=e=>A({file:e,maxFileSize:d,getFileSizeErrorText:V}),{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:y,onUploadStart:P,setUploadingFile:Q,setUploadProgress:J,setUploadSuccess:X,processFile:v,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:$}),c.createElement(c.Fragment,null,c.createElement(B.FilePicker,{onClick:function(){oe.current&&(oe.current.click(),oe.current.value="")}},$.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:$,fileCount:W.length,remainingFilesCount:re}):null,c.createElement(B.FileList,{displayText:$,files:W,isResumable:o,onCancelUpload:({id:e,uploadTask:a})=>{a.pause(),K({id:e})},onDeleteUpload:({id:e})=>{if(K({id:e}),"function"==typeof N){const a=W.find((a=>a.id===e));a&&N({key:a.key})}},onResume:({id:e,uploadTask:a})=>{a.resume(),ee({id:e})},onPause:({id:e,uploadTask:a})=>{a.pause(),Y({id:e})},showThumbnails:k,hasMaxFilesError:se,maxFileCount:i}))})),{Container:O,DropZone:x,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=_;
package/dist/styles.css CHANGED
@@ -397,6 +397,7 @@
397
397
  --amplify-components-fieldcontrol-disabled-border-color: var(--amplify-colors-transparent);
398
398
  --amplify-components-fieldcontrol-disabled-background-color: var(--amplify-colors-background-disabled);
399
399
  --amplify-components-fieldcontrol-error-border-color: var(--amplify-colors-border-error);
400
+ --amplify-components-fieldcontrol-error-color: var(--amplify-colors-font-error);
400
401
  --amplify-components-fieldcontrol-error-focus-box-shadow: 0px 0px 0px 1px var(--amplify-colors-border-error);
401
402
  --amplify-components-fieldgroup-gap: var(--amplify-space-zero);
402
403
  --amplify-components-fieldgroup-vertical-align-items: center;
@@ -528,16 +529,16 @@
528
529
  --amplify-components-loader-large-font-size: var(--amplify-font-sizes-small);
529
530
  --amplify-components-loader-linear-width: 100%;
530
531
  --amplify-components-loader-linear-min-width: 5rem;
531
- --amplify-components-loader-linear-font-size: var(--amplify-font-sizes-medium);
532
- --amplify-components-loader-linear-stroke-width: var(--amplify-font-sizes-medium);
532
+ --amplify-components-loader-linear-font-size: var(--amplify-font-sizes-xxs);
533
+ --amplify-components-loader-linear-stroke-width: var(--amplify-font-sizes-xxs);
533
534
  --amplify-components-loader-linear-stroke-filled: var(--amplify-colors-brand-primary-80);
534
535
  --amplify-components-loader-linear-stroke-empty: var(--amplify-colors-neutral-20);
535
536
  --amplify-components-loader-linear-stroke-linecap: round;
536
537
  --amplify-components-loader-linear-animation-duration: 1s;
537
- --amplify-components-loader-linear-small-stroke-width: var(--amplify-font-sizes-small);
538
- --amplify-components-loader-linear-small-font-size: var(--amplify-font-sizes-small);
539
- --amplify-components-loader-linear-large-stroke-width: var(--amplify-font-sizes-large);
540
- --amplify-components-loader-linear-large-font-size: var(--amplify-font-sizes-large);
538
+ --amplify-components-loader-linear-small-stroke-width: var(--amplify-font-sizes-xxxs);
539
+ --amplify-components-loader-linear-small-font-size: var(--amplify-font-sizes-xxxs);
540
+ --amplify-components-loader-linear-large-stroke-width: var(--amplify-font-sizes-xs);
541
+ --amplify-components-loader-linear-large-font-size: var(--amplify-font-sizes-xs);
541
542
  --amplify-components-loader-text-fill: var(--amplify-colors-font-primary);
542
543
  --amplify-components-menu-background-color: var(--amplify-colors-background-primary);
543
544
  --amplify-components-menu-border-radius: var(--amplify-radii-medium);
@@ -806,7 +807,9 @@
806
807
  --amplify-components-switchfield-small-font-size: var(--amplify-font-sizes-small);
807
808
  --amplify-components-switchfield-label-padding: var(--amplify-space-xs);
808
809
  --amplify-components-switchfield-thumb-background-color: var(--amplify-colors-background-primary);
809
- --amplify-components-switchfield-thumb-border-color: var(--amplify-colors-border-tertiary);
810
+ --amplify-components-switchfield-thumb-border-color: transparent;
811
+ --amplify-components-switchfield-thumb-border-width: var(--amplify-border-widths-small);
812
+ --amplify-components-switchfield-thumb-border-style: solid;
810
813
  --amplify-components-switchfield-thumb-border-radius: var(--amplify-radii-xxxl);
811
814
  --amplify-components-switchfield-thumb-checked-transform: var(--amplify-transforms-slide-x-medium);
812
815
  --amplify-components-switchfield-thumb-transition-duration: var(--amplify-time-medium);
@@ -1221,14 +1224,6 @@ select {
1221
1224
  display: block;
1222
1225
  overflow: auto;
1223
1226
  }
1224
- .amplify-scrollview--horizontal {
1225
- overflow-x: scroll;
1226
- overflow-y: initial;
1227
- }
1228
- .amplify-scrollview--vertical {
1229
- overflow-x: initial;
1230
- overflow-y: scroll;
1231
- }
1232
1227
 
1233
1228
  .amplify-text {
1234
1229
  display: block;
@@ -2893,10 +2888,14 @@ html[dir=rtl] .amplify-field-group__inner-start {
2893
2888
 
2894
2889
  .amplify-liveness-toast {
2895
2890
  background-color: var(--amplify-colors-background-primary);
2891
+ padding: var(--amplify-space-small);
2892
+ border-radius: var(--amplify-radii-medium);
2896
2893
  }
2897
2894
 
2898
2895
  .amplify-liveness-toast__message {
2899
2896
  color: var(--amplify-colors-font-primary);
2897
+ text-align: center;
2898
+ flex-direction: column;
2900
2899
  }
2901
2900
 
2902
2901
  .amplify-liveness-toast--large {
@@ -2908,6 +2907,14 @@ html[dir=rtl] .amplify-field-group__inner-start {
2908
2907
  }
2909
2908
  .amplify-liveness-toast--primary .amplify-liveness-toast__message {
2910
2909
  color: var(--amplify-colors-font-inverse);
2910
+ text-align: center;
2911
+ flex-direction: column;
2912
+ }
2913
+
2914
+ .amplify-liveness-toast__container {
2915
+ gap: var(--amplify-space-xs);
2916
+ flex-direction: column;
2917
+ align-items: center;
2911
2918
  }
2912
2919
 
2913
2920
  .amplify-liveness-toast--error {
@@ -3023,6 +3030,117 @@ html[dir=rtl] .amplify-field-group__inner-start {
3023
3030
  top: 0;
3024
3031
  }
3025
3032
 
3033
+ .amplify-liveness-landscape-error-modal {
3034
+ background-color: var(--amplify-colors-background-primary);
3035
+ direction: column;
3036
+ text-align: center;
3037
+ align-items: center;
3038
+ justify-content: center;
3039
+ width: 100%;
3040
+ }
3041
+
3042
+ .amplify-liveness-landscape-error-modal__header {
3043
+ font-size: large;
3044
+ font-weight: var(--amplify-font-weights-bold);
3045
+ }
3046
+
3047
+ .amplify-liveness-landscape-error-modal__button {
3048
+ justify-content: center;
3049
+ }
3050
+
3051
+ .amplify-liveness-start-screen-header {
3052
+ display: flex;
3053
+ flex-direction: column;
3054
+ }
3055
+
3056
+ .amplify-liveness-start-screen-header__heading {
3057
+ color: var(--amplify-colors-font-primary);
3058
+ font-weight: var(--amplify-font-weights-bold);
3059
+ }
3060
+
3061
+ .amplify-liveness-start-screen-header__body {
3062
+ color: var(--amplify-colors-font-primary);
3063
+ }
3064
+
3065
+ .amplify-liveness-start-screen-warning {
3066
+ color: var(--amplify-colors-orange-80);
3067
+ background-color: var(--amplify-colors-orange-20);
3068
+ align-items: center;
3069
+ }
3070
+
3071
+ .amplify-liveness-start-screen-instructions__heading {
3072
+ color: var(--amplify-colors-font-primary);
3073
+ font-weight: var(--amplify-font-weights-bold);
3074
+ }
3075
+
3076
+ .amplify-liveness-overlay-opaque {
3077
+ background-color: var(--amplify-colors-overlay-40);
3078
+ }
3079
+
3080
+ .amplify-liveness-overlay {
3081
+ flex-direction: column;
3082
+ position: absolute;
3083
+ left: 0;
3084
+ top: 0;
3085
+ width: 100%;
3086
+ height: 100%;
3087
+ padding: var(--amplify-space-xl);
3088
+ }
3089
+
3090
+ .amplify-liveness-error-modal {
3091
+ gap: var(--amplify-space-xs);
3092
+ align-items: center;
3093
+ justify-content: center;
3094
+ color: var(--amplify-colors-font-error);
3095
+ }
3096
+
3097
+ .amplify-liveness-error-modal__heading {
3098
+ font-weight: var(--amplify-font-weights-bold);
3099
+ }
3100
+
3101
+ .amplify-liveness-hint__text {
3102
+ align-items: center;
3103
+ gap: var(--amplify-space-xs);
3104
+ }
3105
+
3106
+ .amplify-liveness-popover {
3107
+ position: relative;
3108
+ cursor: pointer;
3109
+ }
3110
+
3111
+ .amplify-liveness-popover__anchor {
3112
+ position: absolute;
3113
+ top: 26px;
3114
+ left: 3px;
3115
+ z-index: 3;
3116
+ border-style: solid;
3117
+ border-width: 0 9px 9px 9px;
3118
+ border-color: transparent transparent var(--amplify-colors-background-primary) transparent;
3119
+ }
3120
+
3121
+ .amplify-liveness-popover__anchor-secondary {
3122
+ position: absolute;
3123
+ top: 24px;
3124
+ left: 2px;
3125
+ z-index: 2;
3126
+ border-style: solid;
3127
+ border-width: 0 10px 10px 10px;
3128
+ border-color: transparent transparent var(--amplify-colors-border-secondary) transparent;
3129
+ }
3130
+
3131
+ .amplify-liveness-popover__container {
3132
+ position: absolute;
3133
+ background-color: var(--amplify-colors-background-primary);
3134
+ color: var(--amplify-colors-font-primary);
3135
+ flex-direction: row;
3136
+ font-size: var(--amplify-font-sizes-xs);
3137
+ padding: var(--amplify-space-small);
3138
+ top: 33px;
3139
+ width: 240px;
3140
+ border: 1px solid var(--amplify-colors-border-secondary);
3141
+ border-radius: 2px;
3142
+ }
3143
+
3026
3144
  .amplify-fileuploader__dropzone {
3027
3145
  background-color: var(--amplify-components-fileuploader-dropzone-background-color);
3028
3146
  border-color: var(--amplify-components-fileuploader-dropzone-border-color);
@@ -3323,6 +3441,11 @@ html[dir=rtl] .amplify-field-group__inner-start {
3323
3441
  );
3324
3442
  }
3325
3443
 
3444
+ .amplify-field__show-password--error {
3445
+ color: var(--amplify-components-fieldcontrol-error-color);
3446
+ border-color: var(--amplify-components-fieldcontrol-error-border-color);
3447
+ }
3448
+
3326
3449
  .amplify-phonenumberfield select:not(:focus) {
3327
3450
  border-right: none;
3328
3451
  }
@@ -3920,6 +4043,7 @@ html[dir=rtl] .amplify-field-group__inner-start {
3920
4043
  .amplify-switchfield {
3921
4044
  display: inline-block;
3922
4045
  font-size: var(--amplify-components-switchfield-font-size);
4046
+ cursor: pointer;
3923
4047
  }
3924
4048
  .amplify-switchfield--small {
3925
4049
  font-size: var(--amplify-components-switchfield-small-font-size);
@@ -3976,6 +4100,8 @@ html[dir=rtl] .amplify-field-group__inner-start {
3976
4100
  border-radius: var(--amplify-components-switchfield-thumb-border-radius);
3977
4101
  width: var(--amplify-components-switchfield-thumb-width);
3978
4102
  height: var(--amplify-components-switchfield-thumb-width);
4103
+ border-width: var(--amplify-components-switchfield-thumb-border-width);
4104
+ border-style: var(--amplify-components-switchfield-thumb-border-style);
3979
4105
  border-color: var(--amplify-components-switchfield-thumb-border-color);
3980
4106
  overflow-wrap: break-word;
3981
4107
  }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { StorageImageProps } from './types';
3
+ export declare const StorageImage: ({ accessLevel, className, fallbackSrc, identityId, imgKey, onStorageGetError, ...rest }: StorageImageProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export { StorageImage } from './StorageImage';
2
+ export { StorageImageProps } from './types';
@@ -0,0 +1,9 @@
1
+ import type { StorageAccessLevel } from '@aws-amplify/storage';
2
+ import type { ImageProps } from '@aws-amplify/ui-react';
3
+ export interface StorageImageProps extends Omit<ImageProps, 'src'> {
4
+ imgKey: string;
5
+ accessLevel: StorageAccessLevel;
6
+ identityId?: string;
7
+ fallbackSrc?: string;
8
+ onStorageGetError?: (error: Error) => void;
9
+ }
@@ -1,11 +1,11 @@
1
- /// <reference types="react" />
2
- import { StorageManagerProps } from './types';
3
- declare function StorageManager({ acceptedFileTypes, accessLevel, defaultFiles, displayText: overrideDisplayText, isResumable, maxFileCount, maxFileSize, onUploadError, onUploadSuccess, onFileRemove, onUploadStart, showThumbnails, processFile, components, provider, path, }: StorageManagerProps): JSX.Element;
4
- declare namespace StorageManager {
5
- var Container: typeof import("./ui").Container;
6
- var DropZone: typeof import("./ui").DropZone;
7
- var FileList: typeof import("./ui").FileList;
8
- var FileListHeader: typeof import("./ui").FileListHeader;
9
- var FilePicker: typeof import("./ui").FilePicker;
10
- }
1
+ import * as React from 'react';
2
+ import { StorageManagerProps, StorageManagerHandle } from './types';
3
+ import { Container, DropZone, FileList, FileListHeader, FilePicker } from './ui';
4
+ declare const StorageManager: React.ForwardRefExoticComponent<StorageManagerProps & React.RefAttributes<StorageManagerHandle>> & {
5
+ Container: typeof Container;
6
+ DropZone: typeof DropZone;
7
+ FileList: typeof FileList;
8
+ FileListHeader: typeof FileListHeader;
9
+ FilePicker: typeof FilePicker;
10
+ };
11
11
  export { StorageManager };
@@ -2,6 +2,7 @@ import { UploadTask } from '@aws-amplify/storage';
2
2
  import { FileStatus } from '../../types';
3
3
  import { Action, AddFilesActionParams } from './types';
4
4
  export declare const addFilesAction: ({ files, getFileErrorMessage, }: AddFilesActionParams) => Action;
5
+ export declare const clearFilesAction: () => Action;
5
6
  export declare const setUploadingFileAction: ({ id, uploadTask, }: {
6
7
  id: string;
7
8
  uploadTask: UploadTask | undefined;
@@ -5,6 +5,7 @@ export interface UseStorageManagerState {
5
5
  }
6
6
  export declare enum StorageManagerActionTypes {
7
7
  ADD_FILES = "ADD_FILES",
8
+ CLEAR_FILES = "CLEAR_FILES",
8
9
  SET_STATUS = "SET_STATUS",
9
10
  SET_STATUS_UPLOADING = "SET_STATUS_UPLOADING",
10
11
  SET_UPLOAD_PROGRESS = "SET_UPLOAD_PROGRESS",
@@ -15,6 +16,8 @@ export type Action = {
15
16
  type: StorageManagerActionTypes.ADD_FILES;
16
17
  files: File[];
17
18
  getFileErrorMessage: GetFileErrorMessage;
19
+ } | {
20
+ type: StorageManagerActionTypes.CLEAR_FILES;
18
21
  } | {
19
22
  type: StorageManagerActionTypes.SET_STATUS;
20
23
  id: string;
@@ -6,6 +6,7 @@ export interface UseStorageManager {
6
6
  files: File[];
7
7
  getFileErrorMessage: GetFileErrorMessage;
8
8
  }) => void;
9
+ clearFiles: () => void;
9
10
  setUploadingFile: (params: {
10
11
  id: string;
11
12
  uploadTask?: UploadTask;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  import type { StorageAccessLevel, UploadTask } from '@aws-amplify/storage';
3
3
  import { ContainerProps, DropZoneProps, FileListHeaderProps, FileListProps, FilePickerProps } from './ui';
4
4
  import { StorageManagerDisplayText } from './utils';
@@ -23,6 +23,9 @@ export type StorageFiles = StorageFile[];
23
23
  export type DefaultFile = Pick<StorageFile, 'key'>;
24
24
  export type ProcessFileParams = Required<Pick<StorageFile, 'file' | 'key'>> & Record<string, any>;
25
25
  export type ProcessFile = (params: ProcessFileParams) => Promise<ProcessFileParams> | ProcessFileParams;
26
+ export interface StorageManagerHandle {
27
+ clearFiles: () => void;
28
+ }
26
29
  export interface StorageManagerProps {
27
30
  /**
28
31
  * List of accepted File types, values of `['*']` or undefined allow any files
@@ -1,6 +1,4 @@
1
- import React from 'react';
2
- import { Button } from '@aws-amplify/ui-react';
3
- export type FilePickerProps = Parameters<typeof Button>[0] & {
4
- onClick: React.MouseEventHandler<HTMLButtonElement>;
5
- };
1
+ /// <reference types="react" />
2
+ import { ButtonProps } from '@aws-amplify/ui-react';
3
+ export type FilePickerProps = ButtonProps;
6
4
  export declare function FilePicker({ children, className, size, ...props }: FilePickerProps): JSX.Element;
@@ -1 +1,2 @@
1
+ export { StorageImage, StorageImageProps } from './StorageImage';
1
2
  export { StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, } from './StorageManager';
@@ -1 +1 @@
1
- export { StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, } from './components';
1
+ export { StorageImage, StorageImageProps, StorageManager, StorageManagerProps, DropZoneProps, ContainerProps, FileListProps, FilePickerProps, FileListHeaderProps, } from './components';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui-react-storage",
3
- "version": "0.0.0-studio-0fc3ce7-20230602222459",
3
+ "version": "0.0.0-studio-41bd6b8-20230725225637",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.js",
6
6
  "exports": {
@@ -39,9 +39,9 @@
39
39
  "typecheck": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@aws-amplify/ui": "0.0.0-studio-0fc3ce7-20230602222459",
43
- "@aws-amplify/ui-react": "0.0.0-studio-0fc3ce7-20230602222459",
44
- "@aws-amplify/ui-react-core": "0.0.0-studio-0fc3ce7-20230602222459",
42
+ "@aws-amplify/ui": "0.0.0-studio-41bd6b8-20230725225637",
43
+ "@aws-amplify/ui-react": "0.0.0-studio-41bd6b8-20230725225637",
44
+ "@aws-amplify/ui-react-core": "0.0.0-studio-41bd6b8-20230725225637",
45
45
  "classnames": "2.3.1",
46
46
  "lodash": "4.17.21",
47
47
  "tslib": "2.4.1"
@@ -60,7 +60,7 @@
60
60
  "@aws-amplify/eslint-config-amplify-ui": "0.0.0",
61
61
  "@rollup/plugin-commonjs": "^22.0.1",
62
62
  "@rollup/plugin-typescript": "^8.3.1",
63
- "@size-limit/preset-big-lib": "^7.0.8",
63
+ "@size-limit/preset-big-lib": "^8.2.6",
64
64
  "@testing-library/jest-dom": "^5.14.1",
65
65
  "@testing-library/react": "^12.0.0",
66
66
  "@testing-library/react-hooks": "^7.0.1",
@@ -68,7 +68,7 @@
68
68
  "@types/jest": "^26.0.23",
69
69
  "@types/react": "^17.0.2",
70
70
  "@types/testing-library__jest-dom": "^5.14.1",
71
- "eslint": "^8.13.0",
71
+ "eslint": "^8.44.0",
72
72
  "jest": "^27.0.4",
73
73
  "react": "^17.0.2",
74
74
  "react-dom": "^17.0.2",
@@ -77,7 +77,7 @@
77
77
  "rollup-plugin-node-externals": "^4.1.1",
78
78
  "rollup-plugin-styles": "^4.0.0",
79
79
  "rollup-plugin-terser": "^7.0.2",
80
- "size-limit": "^7.0.8",
80
+ "size-limit": "^8.2.6",
81
81
  "ts-jest": "^27.0.3",
82
82
  "ts-morph": "^12.0.0"
83
83
  },