@paprika/uploader 6.0.0-next.0 → 6.1.0-next.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/lib/Uploader.js CHANGED
@@ -206,6 +206,7 @@ var Uploader = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
206
206
  endpoint: endpoint,
207
207
  hasAutoUpload: hasAutoUpload,
208
208
  headers: headers,
209
+ onChange: onChange,
209
210
  onCompleted: onCompleted,
210
211
  onProcessed: onProcessed,
211
212
  onRequest: onRequest
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Uploader.js"],"names":["oneMebibyte","UploaderContext","React","createContext","propTypes","a11yText","PropTypes","string","supportedMimeTypes","arrayOf","canChooseMultiple","bool","children","node","isRequired","isDisabled","endpoint","hasAutoUpload","isBodyDroppable","maxFileSize","number","onChange","func","onCompleted","headers","object","onProcessed","onRequest","onError","onCancel","zIndex","defaultProps","getDocumentBody","document","body","getContainer","refContainer","findContainer","current","Uploader","forwardRef","props","ref","morePropsOnUploaderWrapper","refInput","useRef","i18n","label","t","extendedInputProps","UploaderInputPropsCollector","useImperativeHandle","focus","files","isCompleted","isBusy","removeFile","cancelFile","setFiles","upload","handleChange","useCallback","event","fromDrop","dataTransfer","DataTransfer","items","add","dropArea","isDragLeave","isDraggingOver","value","displayName","types","DropZone","FileList","Input","convertUnitsToMebibytes","MiB"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport { extractChildrenProps } from \"@paprika/helpers\";\nimport { getFiles } from \"./helpers\";\nimport FileList from \"./components/FileList\";\nimport DropZone from \"./components/DropZone\";\nimport * as types from \"./types\";\nimport useDragAndDropEvents from \"./useDragAndDropEvents\";\nimport useProcessFiles from \"./useProcessFiles\";\nimport UploaderInputPropsCollector from \"./components/UploaderInputPropsCollector\";\n\nconst oneMebibyte = 1048576;\n\nexport const UploaderContext = React.createContext(null);\n\nconst propTypes = {\n /**\n Accessible message for the input[type=\"file\"].\n */\n a11yText: PropTypes.string,\n /**\n An array of accepted file extensions and/or MIME types. Note that Microsoft MIME types don't seem to be enforced.\n */\n supportedMimeTypes: PropTypes.arrayOf(PropTypes.string),\n /**\n When false the uploader only accept one file per upload.\n */\n canChooseMultiple: PropTypes.bool,\n /**\n children nodes\n */\n children: PropTypes.node.isRequired,\n /**\n Is uploader disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n The url that will be use to upload the files.\n */\n endpoint: PropTypes.string.isRequired,\n /**\n On true will upload the file as soon they are selected or dropped\n */\n hasAutoUpload: PropTypes.bool,\n /**\n When true the user will be able to drop files at any part of the document.body. On false will only receive files dropped exactly on the FileInput area.\n */\n isBodyDroppable: PropTypes.bool,\n /**\n Size in Mebibytes which is used for comparing each file that will be uploaded.\n */\n maxFileSize: PropTypes.number,\n /**\n This callback fires every time the input value has been changed.\n */\n onChange: PropTypes.func,\n /**\n Will fire once all files have been processed with the files as parameter.\n */\n onCompleted: PropTypes.func,\n /**\n you can pass an array of header objects.\n */\n headers: PropTypes.arrayOf(PropTypes.object),\n /**\n This callback fires when uploading is about to start (all files have been processed to see if they are valid type/size).\n */\n onProcessed: PropTypes.func,\n /**\n * Let you to take over the request method\n */\n onRequest: PropTypes.func,\n /**\n * Callback fired whenever an error occurs while uploading a file. It receives the raw server error as an argument. Whatever this function returns is what is displayed in the UI. If nothing is returned, it will display the raw server error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired when the user cancels an uploading file.\n */\n onCancel: PropTypes.func,\n /**\n * z-index for popovers inside the uploader.\n */\n zIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n a11yText: null,\n canChooseMultiple: true,\n isDisabled: false,\n hasAutoUpload: true,\n headers: [],\n isBodyDroppable: true,\n maxFileSize: oneMebibyte * 10, // 1048576bytes * 10 = 10,485,760 Mebibytes\n onCancel: () => {},\n onChange: () => {},\n onCompleted: () => {},\n onError: null,\n onProcessed: () => {},\n onRequest: null,\n supportedMimeTypes: [\"*/*\"],\n zIndex: 1,\n};\n\nfunction getDocumentBody() {\n return document.body;\n}\n\nfunction getContainer(refContainer) {\n return function findContainer() {\n return refContainer.current;\n };\n}\n\nconst Uploader = React.forwardRef((props, ref) => {\n const {\n a11yText,\n canChooseMultiple,\n children,\n endpoint,\n hasAutoUpload,\n headers,\n isBodyDroppable,\n isDisabled,\n maxFileSize,\n onCancel,\n onChange,\n onCompleted,\n onError,\n onProcessed,\n onRequest,\n supportedMimeTypes,\n zIndex,\n ...morePropsOnUploaderWrapper\n } = props;\n\n const refInput = React.useRef();\n const refContainer = React.useRef(null);\n const i18n = useI18n();\n const label = a11yText || i18n.t(\"uploader.choose_from_computer_a11y\");\n const extendedInputProps = extractChildrenProps(children, UploaderInputPropsCollector);\n\n React.useImperativeHandle(ref, () => ({\n focus: () => {\n refInput.current.focus();\n },\n }));\n\n const { files, isCompleted, isBusy, removeFile, cancelFile, setFiles, upload } = useProcessFiles({\n endpoint,\n hasAutoUpload,\n headers,\n onCompleted,\n onProcessed,\n onRequest,\n });\n\n const handleChange = React.useCallback(\n (event, fromDrop) => {\n if (isDisabled || isBusy) return;\n\n if (fromDrop && refInput.current) {\n if (canChooseMultiple) {\n refInput.current.files = event.dataTransfer.files;\n } else {\n const dataTransfer = new DataTransfer();\n\n dataTransfer.items.add(event.dataTransfer.files[0]);\n refInput.current.files = dataTransfer.files;\n }\n }\n\n const files = getFiles({ event, maxFileSize, supportedMimeTypes, endpoint });\n setFiles(() => (canChooseMultiple ? files : [files[0]])); // in case only allow one file per upload\n onChange(files);\n },\n [canChooseMultiple, endpoint, isDisabled, isBusy, maxFileSize, setFiles, supportedMimeTypes, onChange]\n );\n\n const { isDragLeave, isDraggingOver } = useDragAndDropEvents({\n dropArea: isBodyDroppable ? getDocumentBody : getContainer(refContainer),\n handleChange,\n });\n\n const value = {\n cancelFile,\n canChooseMultiple,\n extendedInputProps,\n files,\n handleChange,\n isBusy,\n isCompleted,\n isDisabled,\n isDraggingOver,\n isDragLeave,\n label,\n maxFileSize,\n morePropsOnUploaderWrapper,\n onCancel,\n onError,\n refContainer,\n refInput,\n removeFile,\n supportedMimeTypes,\n upload,\n zIndex,\n };\n\n return <UploaderContext.Provider value={value}>{children}</UploaderContext.Provider>;\n});\n\nUploader.defaultProps = defaultProps;\nUploader.propTypes = propTypes;\nUploader.displayName = \"Uploader\";\nUploader.types = types;\n\nUploader.DropZone = DropZone;\nUploader.FileList = FileList;\nUploader.Input = UploaderInputPropsCollector;\n\n// utility tool to help creating a maximum desirable size for files\nUploader.convertUnitsToMebibytes = (MiB = 1) => oneMebibyte * MiB;\n\nexport default Uploader;\n"],"file":"Uploader.js"}
1
+ {"version":3,"sources":["../src/Uploader.js"],"names":["oneMebibyte","UploaderContext","React","createContext","propTypes","a11yText","PropTypes","string","supportedMimeTypes","arrayOf","canChooseMultiple","bool","children","node","isRequired","isDisabled","endpoint","hasAutoUpload","isBodyDroppable","maxFileSize","number","onChange","func","onCompleted","headers","object","onProcessed","onRequest","onError","onCancel","zIndex","defaultProps","getDocumentBody","document","body","getContainer","refContainer","findContainer","current","Uploader","forwardRef","props","ref","morePropsOnUploaderWrapper","refInput","useRef","i18n","label","t","extendedInputProps","UploaderInputPropsCollector","useImperativeHandle","focus","files","isCompleted","isBusy","removeFile","cancelFile","setFiles","upload","handleChange","useCallback","event","fromDrop","dataTransfer","DataTransfer","items","add","dropArea","isDragLeave","isDraggingOver","value","displayName","types","DropZone","FileList","Input","convertUnitsToMebibytes","MiB"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport { extractChildrenProps } from \"@paprika/helpers\";\nimport { getFiles } from \"./helpers\";\nimport FileList from \"./components/FileList\";\nimport DropZone from \"./components/DropZone\";\nimport * as types from \"./types\";\nimport useDragAndDropEvents from \"./useDragAndDropEvents\";\nimport useProcessFiles from \"./useProcessFiles\";\nimport UploaderInputPropsCollector from \"./components/UploaderInputPropsCollector\";\n\nconst oneMebibyte = 1048576;\n\nexport const UploaderContext = React.createContext(null);\n\nconst propTypes = {\n /**\n Accessible message for the input[type=\"file\"].\n */\n a11yText: PropTypes.string,\n /**\n An array of accepted file extensions and/or MIME types. Note that Microsoft MIME types don't seem to be enforced.\n */\n supportedMimeTypes: PropTypes.arrayOf(PropTypes.string),\n /**\n When false the uploader only accept one file per upload.\n */\n canChooseMultiple: PropTypes.bool,\n /**\n children nodes\n */\n children: PropTypes.node.isRequired,\n /**\n Is uploader disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n The url that will be use to upload the files.\n */\n endpoint: PropTypes.string.isRequired,\n /**\n On true will upload the file as soon they are selected or dropped\n */\n hasAutoUpload: PropTypes.bool,\n /**\n When true the user will be able to drop files at any part of the document.body. On false will only receive files dropped exactly on the FileInput area.\n */\n isBodyDroppable: PropTypes.bool,\n /**\n Size in Mebibytes which is used for comparing each file that will be uploaded.\n */\n maxFileSize: PropTypes.number,\n /**\n This callback fires every time the input value has been changed.\n */\n onChange: PropTypes.func,\n /**\n Will fire once all files have been processed with the files as parameter.\n */\n onCompleted: PropTypes.func,\n /**\n you can pass an array of header objects.\n */\n headers: PropTypes.arrayOf(PropTypes.object),\n /**\n This callback fires when uploading is about to start (all files have been processed to see if they are valid type/size).\n */\n onProcessed: PropTypes.func,\n /**\n * Let you to take over the request method\n */\n onRequest: PropTypes.func,\n /**\n * Callback fired whenever an error occurs while uploading a file. It receives the raw server error as an argument. Whatever this function returns is what is displayed in the UI. If nothing is returned, it will display the raw server error.\n */\n onError: PropTypes.func,\n /**\n * Callback fired when the user cancels an uploading file.\n */\n onCancel: PropTypes.func,\n /**\n * z-index for popovers inside the uploader.\n */\n zIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n a11yText: null,\n canChooseMultiple: true,\n isDisabled: false,\n hasAutoUpload: true,\n headers: [],\n isBodyDroppable: true,\n maxFileSize: oneMebibyte * 10, // 1048576bytes * 10 = 10,485,760 Mebibytes\n onCancel: () => {},\n onChange: () => {},\n onCompleted: () => {},\n onError: null,\n onProcessed: () => {},\n onRequest: null,\n supportedMimeTypes: [\"*/*\"],\n zIndex: 1,\n};\n\nfunction getDocumentBody() {\n return document.body;\n}\n\nfunction getContainer(refContainer) {\n return function findContainer() {\n return refContainer.current;\n };\n}\n\nconst Uploader = React.forwardRef((props, ref) => {\n const {\n a11yText,\n canChooseMultiple,\n children,\n endpoint,\n hasAutoUpload,\n headers,\n isBodyDroppable,\n isDisabled,\n maxFileSize,\n onCancel,\n onChange,\n onCompleted,\n onError,\n onProcessed,\n onRequest,\n supportedMimeTypes,\n zIndex,\n ...morePropsOnUploaderWrapper\n } = props;\n\n const refInput = React.useRef();\n const refContainer = React.useRef(null);\n const i18n = useI18n();\n const label = a11yText || i18n.t(\"uploader.choose_from_computer_a11y\");\n const extendedInputProps = extractChildrenProps(children, UploaderInputPropsCollector);\n\n React.useImperativeHandle(ref, () => ({\n focus: () => {\n refInput.current.focus();\n },\n }));\n\n const { files, isCompleted, isBusy, removeFile, cancelFile, setFiles, upload } = useProcessFiles({\n endpoint,\n hasAutoUpload,\n headers,\n onChange,\n onCompleted,\n onProcessed,\n onRequest,\n });\n\n const handleChange = React.useCallback(\n (event, fromDrop) => {\n if (isDisabled || isBusy) return;\n\n if (fromDrop && refInput.current) {\n if (canChooseMultiple) {\n refInput.current.files = event.dataTransfer.files;\n } else {\n const dataTransfer = new DataTransfer();\n\n dataTransfer.items.add(event.dataTransfer.files[0]);\n refInput.current.files = dataTransfer.files;\n }\n }\n\n const files = getFiles({ event, maxFileSize, supportedMimeTypes, endpoint });\n setFiles(() => (canChooseMultiple ? files : [files[0]])); // in case only allow one file per upload\n onChange(files);\n },\n [canChooseMultiple, endpoint, isDisabled, isBusy, maxFileSize, setFiles, supportedMimeTypes, onChange]\n );\n\n const { isDragLeave, isDraggingOver } = useDragAndDropEvents({\n dropArea: isBodyDroppable ? getDocumentBody : getContainer(refContainer),\n handleChange,\n });\n\n const value = {\n cancelFile,\n canChooseMultiple,\n extendedInputProps,\n files,\n handleChange,\n isBusy,\n isCompleted,\n isDisabled,\n isDraggingOver,\n isDragLeave,\n label,\n maxFileSize,\n morePropsOnUploaderWrapper,\n onCancel,\n onError,\n refContainer,\n refInput,\n removeFile,\n supportedMimeTypes,\n upload,\n zIndex,\n };\n\n return <UploaderContext.Provider value={value}>{children}</UploaderContext.Provider>;\n});\n\nUploader.defaultProps = defaultProps;\nUploader.propTypes = propTypes;\nUploader.displayName = \"Uploader\";\nUploader.types = types;\n\nUploader.DropZone = DropZone;\nUploader.FileList = FileList;\nUploader.Input = UploaderInputPropsCollector;\n\n// utility tool to help creating a maximum desirable size for files\nUploader.convertUnitsToMebibytes = (MiB = 1) => oneMebibyte * MiB;\n\nexport default Uploader;\n"],"file":"Uploader.js"}
@@ -86,6 +86,7 @@ function File(props) {
86
86
 
87
87
  var _React$useContext = _react["default"].useContext(_Uploader.UploaderContext),
88
88
  cancelFile = _React$useContext.cancelFile,
89
+ removeFile = _React$useContext.removeFile,
89
90
  zIndex = _React$useContext.zIndex;
90
91
 
91
92
  var I18n = (0, _useI18n["default"])();
@@ -135,7 +136,11 @@ function File(props) {
135
136
  }),
136
137
  kind: _button["default"].Icon.types.kind.MINOR,
137
138
  onClick: function onClick() {
138
- cancelFile(fileKey, onCancel);
139
+ if (status === types.status.IDLE) {
140
+ removeFile(fileKey);
141
+ } else {
142
+ cancelFile(fileKey, onCancel);
143
+ }
139
144
  },
140
145
  size: _button["default"].Icon.types.size.SMALL
141
146
  }, a11yAttributes), /*#__PURE__*/_react["default"].createElement(_Times["default"], {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/File/File.js"],"names":["File","defaultProps","propTypes","types","status","error","PropTypes","string","fileKey","isRequired","name","onError","func","onCancel","progress","number","size","oneOf","map","key","props","React","useContext","UploaderContext","cancelFile","zIndex","I18n","sizeWithUnits","progressWithUnits","a11yProgress","Math","floor","abs","renderIcon","ERROR","t","tokens","color","orange","CANCEL","SUCCESS","green","handler","a11yAttributes","Button","Icon","kind","MINOR","SMALL","textColor","icon","getErrorMessage","getProgressText","showA11yProgress","IDLE"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport CheckIcon from \"@paprika/icon/lib/Check\";\nimport TimesIcon from \"@paprika/icon/lib/Times\";\nimport Caution from \"@paprika/icon/lib/Caution\";\n\nimport Button from \"@paprika/button\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport Popover from \"@paprika/popover\";\nimport tokens from \"@paprika/tokens\";\nimport { UploaderContext } from \"../../Uploader\";\nimport { getNumberWithUnits } from \"../../helpers\";\nimport * as types from \"../../types\";\nimport * as sc from \"./File.styles\";\n\nFile.defaultProps = defaultProps;\nFile.propTypes = propTypes;\n\nFile.types = {\n status: types.status,\n};\n\nconst propTypes = {\n error: PropTypes.string,\n fileKey: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onError: PropTypes.func,\n onCancel: PropTypes.func,\n progress: PropTypes.number,\n size: PropTypes.number.isRequired,\n status: PropTypes.oneOf(Object.keys(File.types.status).map(key => File.types.status[key])).isRequired,\n};\n\nconst defaultProps = {\n error: \"\",\n onError: null,\n onCancel: null,\n progress: 0,\n};\n\nfunction File(props) {\n const { error, fileKey, name, progress, size, status, onError, onCancel } = props;\n\n const { cancelFile, zIndex } = React.useContext(UploaderContext);\n const I18n = useI18n();\n const sizeWithUnits = getNumberWithUnits(I18n, size);\n const progressWithUnits = getNumberWithUnits(I18n, (size * progress) / 100);\n const a11yProgress = 25 * Math.floor(Math.abs(progress / 25)); // announce in 25% increments for screen reader\n\n function renderIcon() {\n switch (status) {\n case types.status.ERROR:\n return (\n <Popover isDark isEager zIndex={zIndex}>\n <Popover.Tip />\n <Popover.Trigger aria-label={I18n.t(\"uploader.restart_upload\", { name })}>\n <Caution color={tokens.color.orange} />\n </Popover.Trigger>\n <Popover.Content>\n <Popover.Card>{I18n.t(\"uploader.restart_upload\", { name })}</Popover.Card>\n </Popover.Content>\n </Popover>\n );\n case types.status.CANCEL:\n return null;\n case types.status.SUCCESS:\n return <CheckIcon color={tokens.color.green} aria-hidden />;\n default:\n return (\n <Popover isDark isEager zIndex={zIndex}>\n <Popover.Tip />\n <Popover.Trigger>\n {(handler, a11yAttributes) => (\n <Button.Icon\n onMouseOver={handler}\n onMouseOut={handler}\n onFocus={handler}\n onBlur={handler}\n aria-label={I18n.t(\"uploader.cancel_upload\", { name })}\n kind={Button.Icon.types.kind.MINOR}\n onClick={() => {\n cancelFile(fileKey, onCancel);\n }}\n size={Button.Icon.types.size.SMALL}\n {...a11yAttributes}\n >\n <TimesIcon color={tokens.textColor.icon} />\n </Button.Icon>\n )}\n </Popover.Trigger>\n <Popover.Content>\n <Popover.Card>{I18n.t(\"uploader.cancel_upload\", { name })}</Popover.Card>\n </Popover.Content>\n </Popover>\n );\n }\n }\n\n function getErrorMessage() {\n return typeof onError === \"function\" ? onError(error) : error;\n }\n\n function getProgressText(showA11yProgress) {\n switch (status) {\n case types.status.ERROR:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.error\", { name, error: getErrorMessage() })\n : getErrorMessage();\n case types.status.SUCCESS:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.complete\") })\n : I18n.t(\"uploader.progress.complete\");\n case types.status.CANCEL:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.cancelled\") })\n : I18n.t(\"uploader.progress.cancelled\");\n case types.status.IDLE:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.idle\") })\n : I18n.t(\"uploader.progress.idle\");\n default:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", {\n name,\n progress: I18n.t(\"uploader.progress.uploading_percent\", { a11yProgress }),\n })\n : I18n.t(\"uploader.progress.uploading\", { progressWithUnits, sizeWithUnits });\n }\n }\n\n return (\n <sc.FileListItem>\n <div\n aria-label={getProgressText(true)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={progress}\n role=\"progressbar\"\n />\n <sc.File>\n <sc.Left aria-hidden>\n <sc.Info>\n <sc.Name>{name}</sc.Name>\n <sc.ProgressText status={status}>{getProgressText(false)}</sc.ProgressText>\n </sc.Info>\n <sc.ProgressBarWrapper>\n <sc.ProgressBar data-pka-anchor=\"uploader-file-progressBar\" progress={progress} status={status} />\n </sc.ProgressBarWrapper>\n </sc.Left>\n <sc.Right status={status}>{renderIcon()}</sc.Right>\n </sc.File>\n </sc.FileListItem>\n );\n}\n\nexport default File;\n"],"file":"File.js"}
1
+ {"version":3,"sources":["../../../src/components/File/File.js"],"names":["File","defaultProps","propTypes","types","status","error","PropTypes","string","fileKey","isRequired","name","onError","func","onCancel","progress","number","size","oneOf","map","key","props","React","useContext","UploaderContext","cancelFile","removeFile","zIndex","I18n","sizeWithUnits","progressWithUnits","a11yProgress","Math","floor","abs","renderIcon","ERROR","t","tokens","color","orange","CANCEL","SUCCESS","green","handler","a11yAttributes","Button","Icon","kind","MINOR","IDLE","SMALL","textColor","icon","getErrorMessage","getProgressText","showA11yProgress"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEAA,IAAI,CAACC,YAAL,GAAoBA,YAApB;AACAD,IAAI,CAACE,SAAL,GAAiBA,SAAjB;AAEAF,IAAI,CAACG,KAAL,GAAa;AACXC,EAAAA,MAAM,EAAED,KAAK,CAACC;AADH,CAAb;AAIA,IAAMF,SAAS,GAAG;AAChBG,EAAAA,KAAK,EAAEC,sBAAUC,MADD;AAEhBC,EAAAA,OAAO,EAAEF,sBAAUC,MAAV,CAAiBE,UAFV;AAGhBC,EAAAA,IAAI,EAAEJ,sBAAUC,MAAV,CAAiBE,UAHP;AAIhBE,EAAAA,OAAO,EAAEL,sBAAUM,IAJH;AAKhBC,EAAAA,QAAQ,EAAEP,sBAAUM,IALJ;AAMhBE,EAAAA,QAAQ,EAAER,sBAAUS,MANJ;AAOhBC,EAAAA,IAAI,EAAEV,sBAAUS,MAAV,CAAiBN,UAPP;AAQhBL,EAAAA,MAAM,EAAEE,sBAAUW,KAAV,CAAgB,sBAAYjB,IAAI,CAACG,KAAL,CAAWC,MAAvB,EAA+Bc,GAA/B,CAAmC,UAAAC,GAAG;AAAA,WAAInB,IAAI,CAACG,KAAL,CAAWC,MAAX,CAAkBe,GAAlB,CAAJ;AAAA,GAAtC,CAAhB,EAAmFV;AAR3E,CAAlB;AAWA,IAAMR,YAAY,GAAG;AACnBI,EAAAA,KAAK,EAAE,EADY;AAEnBM,EAAAA,OAAO,EAAE,IAFU;AAGnBE,EAAAA,QAAQ,EAAE,IAHS;AAInBC,EAAAA,QAAQ,EAAE;AAJS,CAArB;;AAOA,SAASd,IAAT,CAAcoB,KAAd,EAAqB;AACnB,MAAQf,KAAR,GAA4Ee,KAA5E,CAAQf,KAAR;AAAA,MAAeG,OAAf,GAA4EY,KAA5E,CAAeZ,OAAf;AAAA,MAAwBE,IAAxB,GAA4EU,KAA5E,CAAwBV,IAAxB;AAAA,MAA8BI,QAA9B,GAA4EM,KAA5E,CAA8BN,QAA9B;AAAA,MAAwCE,IAAxC,GAA4EI,KAA5E,CAAwCJ,IAAxC;AAAA,MAA8CZ,MAA9C,GAA4EgB,KAA5E,CAA8ChB,MAA9C;AAAA,MAAsDO,OAAtD,GAA4ES,KAA5E,CAAsDT,OAAtD;AAAA,MAA+DE,QAA/D,GAA4EO,KAA5E,CAA+DP,QAA/D;;AAEA,0BAA2CQ,kBAAMC,UAAN,CAAiBC,yBAAjB,CAA3C;AAAA,MAAQC,UAAR,qBAAQA,UAAR;AAAA,MAAoBC,UAApB,qBAAoBA,UAApB;AAAA,MAAgCC,MAAhC,qBAAgCA,MAAhC;;AACA,MAAMC,IAAI,GAAG,0BAAb;AACA,MAAMC,aAAa,GAAG,iCAAmBD,IAAnB,EAAyBX,IAAzB,CAAtB;AACA,MAAMa,iBAAiB,GAAG,iCAAmBF,IAAnB,EAA0BX,IAAI,GAAGF,QAAR,GAAoB,GAA7C,CAA1B;AACA,MAAMgB,YAAY,GAAG,KAAKC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,GAAL,CAASnB,QAAQ,GAAG,EAApB,CAAX,CAA1B,CAPmB,CAO4C;;AAE/D,WAASoB,UAAT,GAAsB;AACpB,YAAQ9B,MAAR;AACE,WAAKD,KAAK,CAACC,MAAN,CAAa+B,KAAlB;AACE,4BACE,gCAAC,mBAAD;AAAS,UAAA,MAAM,MAAf;AAAgB,UAAA,OAAO,MAAvB;AAAwB,UAAA,MAAM,EAAET;AAAhC,wBACE,gCAAC,mBAAD,CAAS,GAAT,OADF,eAEE,gCAAC,mBAAD,CAAS,OAAT;AAAiB,wBAAYC,IAAI,CAACS,CAAL,CAAO,yBAAP,EAAkC;AAAE1B,YAAAA,IAAI,EAAJA;AAAF,WAAlC;AAA7B,wBACE,gCAAC,mBAAD;AAAS,UAAA,KAAK,EAAE2B,mBAAOC,KAAP,CAAaC;AAA7B,UADF,CAFF,eAKE,gCAAC,mBAAD,CAAS,OAAT,qBACE,gCAAC,mBAAD,CAAS,IAAT,QAAeZ,IAAI,CAACS,CAAL,CAAO,yBAAP,EAAkC;AAAE1B,UAAAA,IAAI,EAAJA;AAAF,SAAlC,CAAf,CADF,CALF,CADF;;AAWF,WAAKP,KAAK,CAACC,MAAN,CAAaoC,MAAlB;AACE,eAAO,IAAP;;AACF,WAAKrC,KAAK,CAACC,MAAN,CAAaqC,OAAlB;AACE,4BAAO,gCAAC,iBAAD;AAAW,UAAA,KAAK,EAAEJ,mBAAOC,KAAP,CAAaI,KAA/B;AAAsC;AAAtC,UAAP;;AACF;AACE,4BACE,gCAAC,mBAAD;AAAS,UAAA,MAAM,MAAf;AAAgB,UAAA,OAAO,MAAvB;AAAwB,UAAA,MAAM,EAAEhB;AAAhC,wBACE,gCAAC,mBAAD,CAAS,GAAT,OADF,eAEE,gCAAC,mBAAD,CAAS,OAAT,QACG,UAACiB,OAAD,EAAUC,cAAV;AAAA,8BACC,gCAAC,kBAAD,CAAQ,IAAR;AACE,YAAA,WAAW,EAAED,OADf;AAEE,YAAA,UAAU,EAAEA,OAFd;AAGE,YAAA,OAAO,EAAEA,OAHX;AAIE,YAAA,MAAM,EAAEA,OAJV;AAKE,0BAAYhB,IAAI,CAACS,CAAL,CAAO,wBAAP,EAAiC;AAAE1B,cAAAA,IAAI,EAAJA;AAAF,aAAjC,CALd;AAME,YAAA,IAAI,EAAEmC,mBAAOC,IAAP,CAAY3C,KAAZ,CAAkB4C,IAAlB,CAAuBC,KAN/B;AAOE,YAAA,OAAO,EAAE,mBAAM;AACb,kBAAI5C,MAAM,KAAKD,KAAK,CAACC,MAAN,CAAa6C,IAA5B,EAAkC;AAChCxB,gBAAAA,UAAU,CAACjB,OAAD,CAAV;AACD,eAFD,MAEO;AACLgB,gBAAAA,UAAU,CAAChB,OAAD,EAAUK,QAAV,CAAV;AACD;AACF,aAbH;AAcE,YAAA,IAAI,EAAEgC,mBAAOC,IAAP,CAAY3C,KAAZ,CAAkBa,IAAlB,CAAuBkC;AAd/B,aAeMN,cAfN,gBAiBE,gCAAC,iBAAD;AAAW,YAAA,KAAK,EAAEP,mBAAOc,SAAP,CAAiBC;AAAnC,YAjBF,CADD;AAAA,SADH,CAFF,eAyBE,gCAAC,mBAAD,CAAS,OAAT,qBACE,gCAAC,mBAAD,CAAS,IAAT,QAAezB,IAAI,CAACS,CAAL,CAAO,wBAAP,EAAiC;AAAE1B,UAAAA,IAAI,EAAJA;AAAF,SAAjC,CAAf,CADF,CAzBF,CADF;AAlBJ;AAkDD;;AAED,WAAS2C,eAAT,GAA2B;AACzB,WAAO,OAAO1C,OAAP,KAAmB,UAAnB,GAAgCA,OAAO,CAACN,KAAD,CAAvC,GAAiDA,KAAxD;AACD;;AAED,WAASiD,eAAT,CAAyBC,gBAAzB,EAA2C;AACzC,YAAQnD,MAAR;AACE,WAAKD,KAAK,CAACC,MAAN,CAAa+B,KAAlB;AACE,eAAOoB,gBAAgB,GACnB5B,IAAI,CAACS,CAAL,CAAO,yBAAP,EAAkC;AAAE1B,UAAAA,IAAI,EAAJA,IAAF;AAAQL,UAAAA,KAAK,EAAEgD,eAAe;AAA9B,SAAlC,CADmB,GAEnBA,eAAe,EAFnB;;AAGF,WAAKlD,KAAK,CAACC,MAAN,CAAaqC,OAAlB;AACE,eAAOc,gBAAgB,GACnB5B,IAAI,CAACS,CAAL,CAAO,iCAAP,EAA0C;AAAE1B,UAAAA,IAAI,EAAJA,IAAF;AAAQI,UAAAA,QAAQ,EAAEa,IAAI,CAACS,CAAL,CAAO,4BAAP;AAAlB,SAA1C,CADmB,GAEnBT,IAAI,CAACS,CAAL,CAAO,4BAAP,CAFJ;;AAGF,WAAKjC,KAAK,CAACC,MAAN,CAAaoC,MAAlB;AACE,eAAOe,gBAAgB,GACnB5B,IAAI,CAACS,CAAL,CAAO,iCAAP,EAA0C;AAAE1B,UAAAA,IAAI,EAAJA,IAAF;AAAQI,UAAAA,QAAQ,EAAEa,IAAI,CAACS,CAAL,CAAO,6BAAP;AAAlB,SAA1C,CADmB,GAEnBT,IAAI,CAACS,CAAL,CAAO,6BAAP,CAFJ;;AAGF,WAAKjC,KAAK,CAACC,MAAN,CAAa6C,IAAlB;AACE,eAAOM,gBAAgB,GACnB5B,IAAI,CAACS,CAAL,CAAO,iCAAP,EAA0C;AAAE1B,UAAAA,IAAI,EAAJA,IAAF;AAAQI,UAAAA,QAAQ,EAAEa,IAAI,CAACS,CAAL,CAAO,wBAAP;AAAlB,SAA1C,CADmB,GAEnBT,IAAI,CAACS,CAAL,CAAO,wBAAP,CAFJ;;AAGF;AACE,eAAOmB,gBAAgB,GACnB5B,IAAI,CAACS,CAAL,CAAO,iCAAP,EAA0C;AACxC1B,UAAAA,IAAI,EAAJA,IADwC;AAExCI,UAAAA,QAAQ,EAAEa,IAAI,CAACS,CAAL,CAAO,qCAAP,EAA8C;AAAEN,YAAAA,YAAY,EAAZA;AAAF,WAA9C;AAF8B,SAA1C,CADmB,GAKnBH,IAAI,CAACS,CAAL,CAAO,6BAAP,EAAsC;AAAEP,UAAAA,iBAAiB,EAAjBA,iBAAF;AAAqBD,UAAAA,aAAa,EAAbA;AAArB,SAAtC,CALJ;AAlBJ;AAyBD;;AAED,sBACE,gCAAC,EAAD,CAAI,YAAJ,qBACE;AACE,kBAAY0B,eAAe,CAAC,IAAD,CAD7B;AAEE,qBAAe,CAFjB;AAGE,qBAAe,GAHjB;AAIE,qBAAexC,QAJjB;AAKE,IAAA,IAAI,EAAC;AALP,IADF,eAQE,gCAAC,EAAD,CAAI,IAAJ,qBACE,gCAAC,EAAD,CAAI,IAAJ;AAAS;AAAT,kBACE,gCAAC,EAAD,CAAI,IAAJ,qBACE,gCAAC,EAAD,CAAI,IAAJ,QAAUJ,IAAV,CADF,eAEE,gCAAC,EAAD,CAAI,YAAJ;AAAiB,IAAA,MAAM,EAAEN;AAAzB,KAAkCkD,eAAe,CAAC,KAAD,CAAjD,CAFF,CADF,eAKE,gCAAC,EAAD,CAAI,kBAAJ,qBACE,gCAAC,EAAD,CAAI,WAAJ;AAAgB,uBAAgB,2BAAhC;AAA4D,IAAA,QAAQ,EAAExC,QAAtE;AAAgF,IAAA,MAAM,EAAEV;AAAxF,IADF,CALF,CADF,eAUE,gCAAC,EAAD,CAAI,KAAJ;AAAU,IAAA,MAAM,EAAEA;AAAlB,KAA2B8B,UAAU,EAArC,CAVF,CARF,CADF;AAuBD;;eAEclC,I","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport CheckIcon from \"@paprika/icon/lib/Check\";\nimport TimesIcon from \"@paprika/icon/lib/Times\";\nimport Caution from \"@paprika/icon/lib/Caution\";\n\nimport Button from \"@paprika/button\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport Popover from \"@paprika/popover\";\nimport tokens from \"@paprika/tokens\";\nimport { UploaderContext } from \"../../Uploader\";\nimport { getNumberWithUnits } from \"../../helpers\";\nimport * as types from \"../../types\";\nimport * as sc from \"./File.styles\";\n\nFile.defaultProps = defaultProps;\nFile.propTypes = propTypes;\n\nFile.types = {\n status: types.status,\n};\n\nconst propTypes = {\n error: PropTypes.string,\n fileKey: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onError: PropTypes.func,\n onCancel: PropTypes.func,\n progress: PropTypes.number,\n size: PropTypes.number.isRequired,\n status: PropTypes.oneOf(Object.keys(File.types.status).map(key => File.types.status[key])).isRequired,\n};\n\nconst defaultProps = {\n error: \"\",\n onError: null,\n onCancel: null,\n progress: 0,\n};\n\nfunction File(props) {\n const { error, fileKey, name, progress, size, status, onError, onCancel } = props;\n\n const { cancelFile, removeFile, zIndex } = React.useContext(UploaderContext);\n const I18n = useI18n();\n const sizeWithUnits = getNumberWithUnits(I18n, size);\n const progressWithUnits = getNumberWithUnits(I18n, (size * progress) / 100);\n const a11yProgress = 25 * Math.floor(Math.abs(progress / 25)); // announce in 25% increments for screen reader\n\n function renderIcon() {\n switch (status) {\n case types.status.ERROR:\n return (\n <Popover isDark isEager zIndex={zIndex}>\n <Popover.Tip />\n <Popover.Trigger aria-label={I18n.t(\"uploader.restart_upload\", { name })}>\n <Caution color={tokens.color.orange} />\n </Popover.Trigger>\n <Popover.Content>\n <Popover.Card>{I18n.t(\"uploader.restart_upload\", { name })}</Popover.Card>\n </Popover.Content>\n </Popover>\n );\n case types.status.CANCEL:\n return null;\n case types.status.SUCCESS:\n return <CheckIcon color={tokens.color.green} aria-hidden />;\n default:\n return (\n <Popover isDark isEager zIndex={zIndex}>\n <Popover.Tip />\n <Popover.Trigger>\n {(handler, a11yAttributes) => (\n <Button.Icon\n onMouseOver={handler}\n onMouseOut={handler}\n onFocus={handler}\n onBlur={handler}\n aria-label={I18n.t(\"uploader.cancel_upload\", { name })}\n kind={Button.Icon.types.kind.MINOR}\n onClick={() => {\n if (status === types.status.IDLE) {\n removeFile(fileKey);\n } else {\n cancelFile(fileKey, onCancel);\n }\n }}\n size={Button.Icon.types.size.SMALL}\n {...a11yAttributes}\n >\n <TimesIcon color={tokens.textColor.icon} />\n </Button.Icon>\n )}\n </Popover.Trigger>\n <Popover.Content>\n <Popover.Card>{I18n.t(\"uploader.cancel_upload\", { name })}</Popover.Card>\n </Popover.Content>\n </Popover>\n );\n }\n }\n\n function getErrorMessage() {\n return typeof onError === \"function\" ? onError(error) : error;\n }\n\n function getProgressText(showA11yProgress) {\n switch (status) {\n case types.status.ERROR:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.error\", { name, error: getErrorMessage() })\n : getErrorMessage();\n case types.status.SUCCESS:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.complete\") })\n : I18n.t(\"uploader.progress.complete\");\n case types.status.CANCEL:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.cancelled\") })\n : I18n.t(\"uploader.progress.cancelled\");\n case types.status.IDLE:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", { name, progress: I18n.t(\"uploader.progress.idle\") })\n : I18n.t(\"uploader.progress.idle\");\n default:\n return showA11yProgress\n ? I18n.t(\"uploader.progress.file_progress\", {\n name,\n progress: I18n.t(\"uploader.progress.uploading_percent\", { a11yProgress }),\n })\n : I18n.t(\"uploader.progress.uploading\", { progressWithUnits, sizeWithUnits });\n }\n }\n\n return (\n <sc.FileListItem>\n <div\n aria-label={getProgressText(true)}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={progress}\n role=\"progressbar\"\n />\n <sc.File>\n <sc.Left aria-hidden>\n <sc.Info>\n <sc.Name>{name}</sc.Name>\n <sc.ProgressText status={status}>{getProgressText(false)}</sc.ProgressText>\n </sc.Info>\n <sc.ProgressBarWrapper>\n <sc.ProgressBar data-pka-anchor=\"uploader-file-progressBar\" progress={progress} status={status} />\n </sc.ProgressBarWrapper>\n </sc.Left>\n <sc.Right status={status}>{renderIcon()}</sc.Right>\n </sc.File>\n </sc.FileListItem>\n );\n}\n\nexport default File;\n"],"file":"File.js"}
@@ -67,6 +67,7 @@ var setFile = function setFile(file, callback) {
67
67
 
68
68
  function useProcessFiles(_ref) {
69
69
  var hasAutoUpload = _ref.hasAutoUpload,
70
+ onChange = _ref.onChange,
70
71
  onProcessed = _ref.onProcessed,
71
72
  onCompleted = _ref.onCompleted,
72
73
  endpoint = _ref.endpoint,
@@ -136,6 +137,7 @@ function useProcessFiles(_ref) {
136
137
  setUploadingFileList(function () {
137
138
  return uploadingFileListClone;
138
139
  });
140
+ onChange(fileClones);
139
141
  }
140
142
  }
141
143
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/useProcessFiles.js"],"names":["getFileByIndex","key","files","index","some","file","i","setFile","callback","cloneFiles","slice","f","updatedFile","useProcessFiles","hasAutoUpload","onProcessed","onCompleted","endpoint","headers","onRequest","React","useState","uploadingFileList","setUploadingFileList","isBusy","setIsBusy","isCompleted","setisCompleted","setFiles","cancelFile","onCancelProp","status","types","PROCESSING","WAITINGFORSERVER","request","abort","fileItem","CANCEL","processed","removeFile","IDLE","ERROR","fileClones","splice","uploadingFileListClone","upload","useCallback","isSameList","sameList","length","every","areAllFilesProccessed","onSuccess","response","isValid","SUCCESS","onError","error","isServerValid","onProgress","percent","progress","JSON","parse","forEach","useEffect"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport * as types from \"./types\";\nimport { uploadToServer } from \"./helpers\";\n\nfunction getFileByIndex(key, files) {\n let index = null;\n\n files.some((file, i) => {\n if (file.key === key) {\n index = i;\n return true;\n }\n return false;\n });\n\n return index !== null ? index : null;\n}\n\nconst setFile = (file, callback) => files => {\n const cloneFiles = files.slice(0);\n let index = null;\n files.some((f, i) => {\n if (f.key === file.key) {\n index = i;\n return true;\n }\n return false;\n });\n\n if (index !== null) {\n const updatedFile = callback(cloneFiles[index]);\n cloneFiles[index] = updatedFile;\n }\n\n return cloneFiles;\n};\n\nexport default function useProcessFiles({ hasAutoUpload, onProcessed, onCompleted, endpoint, headers, onRequest }) {\n const [uploadingFileList, setUploadingFileList] = React.useState([]);\n const [isBusy, setIsBusy] = React.useState(false);\n const [isCompleted, setisCompleted] = React.useState(null);\n const [files, setFiles] = React.useState([]);\n\n function cancelFile(key, onCancelProp = null) {\n const index = getFileByIndex(key, files);\n if (index !== null) {\n if (files[index].status === types.status.PROCESSING || files[index].status === types.status.WAITINGFORSERVER) {\n const file = files[index];\n\n // will stop the uploading\n file.request.abort();\n\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.status = types.status.CANCEL;\n file.processed = true;\n return fileItem;\n })\n );\n\n if (typeof onCancelProp === \"function\") {\n onCancelProp(file);\n }\n }\n }\n }\n\n function removeFile(key) {\n const index = getFileByIndex(key, files);\n\n if (index !== null) {\n /*\n Removing a file while is been uploaded mess with areAllFilesProccessed() function,\n as well give a wrong impression the request has been cancel to the server.\n Therefore is only possible to remove files once they were processed or on idle status.\n */\n if (isCompleted || files[index].status === types.status.IDLE || files[index].status === types.status.ERROR) {\n const fileClones = files.slice(0);\n fileClones.splice(index, 1);\n\n const uploadingFileListClone = uploadingFileList.slice(0);\n uploadingFileListClone.splice(index, 1);\n\n setFiles(() => fileClones);\n setUploadingFileList(() => uploadingFileListClone);\n }\n }\n }\n\n const upload = React.useCallback(() => {\n const isSameList = (files, uploadingFileList) => {\n const sameList =\n files.length === uploadingFileList.length &&\n files.every((file, index) => file.key === uploadingFileList[index].key);\n\n return sameList;\n };\n\n function areAllFilesProccessed() {\n if (files.every(file => file.processed)) {\n setIsBusy(() => false);\n setisCompleted(() => true);\n onCompleted(files);\n }\n }\n\n function onSuccess({ file, response }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.isValid = true;\n file.processed = true;\n file.response = response;\n file.status = types.status.SUCCESS;\n return fileItem;\n })\n );\n\n areAllFilesProccessed();\n }\n\n function onError({ file, error }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.status = types.status.ERROR;\n file.error = error;\n file.processed = true;\n file.isValid = false;\n file.isServerValid = false;\n return fileItem;\n })\n );\n\n areAllFilesProccessed();\n }\n\n function onProgress({ file, percent }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.progress = percent;\n file.status = types.status.PROCESSING;\n\n if (percent === 100) {\n file.status = types.status.WAITINGFORSERVER;\n }\n return fileItem;\n })\n );\n }\n\n if (files.length && !isSameList(files, uploadingFileList) && !isBusy) {\n if (files.every(file => !file.isValid || file.status === types.status.SUCCESS)) {\n return;\n }\n\n setUploadingFileList(() => JSON.parse(JSON.stringify(files)));\n setIsBusy(() => true);\n setisCompleted(() => null);\n onProcessed(files);\n\n files.forEach(file => {\n if (file.isValid && file.status !== types.status.SUCCESS) {\n uploadToServer({ file, endpoint, onProgress, onSuccess, onError, headers, onRequest });\n }\n });\n }\n }, [files, uploadingFileList, isBusy, onCompleted, endpoint, headers, onRequest, onProcessed]);\n\n React.useEffect(() => {\n if (hasAutoUpload) {\n upload();\n }\n }, [files, hasAutoUpload, upload]);\n\n return { files, setFiles, isBusy, isCompleted, upload, removeFile, cancelFile };\n}\n"],"file":"useProcessFiles.js"}
1
+ {"version":3,"sources":["../src/useProcessFiles.js"],"names":["getFileByIndex","key","files","index","some","file","i","setFile","callback","cloneFiles","slice","f","updatedFile","useProcessFiles","hasAutoUpload","onChange","onProcessed","onCompleted","endpoint","headers","onRequest","React","useState","uploadingFileList","setUploadingFileList","isBusy","setIsBusy","isCompleted","setisCompleted","setFiles","cancelFile","onCancelProp","status","types","PROCESSING","WAITINGFORSERVER","request","abort","fileItem","CANCEL","processed","removeFile","IDLE","ERROR","fileClones","splice","uploadingFileListClone","upload","useCallback","isSameList","sameList","length","every","areAllFilesProccessed","onSuccess","response","isValid","SUCCESS","onError","error","isServerValid","onProgress","percent","progress","JSON","parse","forEach","useEffect"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport * as types from \"./types\";\nimport { uploadToServer } from \"./helpers\";\n\nfunction getFileByIndex(key, files) {\n let index = null;\n\n files.some((file, i) => {\n if (file.key === key) {\n index = i;\n return true;\n }\n return false;\n });\n\n return index !== null ? index : null;\n}\n\nconst setFile = (file, callback) => files => {\n const cloneFiles = files.slice(0);\n let index = null;\n files.some((f, i) => {\n if (f.key === file.key) {\n index = i;\n return true;\n }\n return false;\n });\n\n if (index !== null) {\n const updatedFile = callback(cloneFiles[index]);\n cloneFiles[index] = updatedFile;\n }\n\n return cloneFiles;\n};\n\nexport default function useProcessFiles({\n hasAutoUpload,\n onChange,\n onProcessed,\n onCompleted,\n endpoint,\n headers,\n onRequest,\n}) {\n const [uploadingFileList, setUploadingFileList] = React.useState([]);\n const [isBusy, setIsBusy] = React.useState(false);\n const [isCompleted, setisCompleted] = React.useState(null);\n const [files, setFiles] = React.useState([]);\n\n function cancelFile(key, onCancelProp = null) {\n const index = getFileByIndex(key, files);\n if (index !== null) {\n if (files[index].status === types.status.PROCESSING || files[index].status === types.status.WAITINGFORSERVER) {\n const file = files[index];\n\n // will stop the uploading\n file.request.abort();\n\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.status = types.status.CANCEL;\n file.processed = true;\n return fileItem;\n })\n );\n\n if (typeof onCancelProp === \"function\") {\n onCancelProp(file);\n }\n }\n }\n }\n\n function removeFile(key) {\n const index = getFileByIndex(key, files);\n\n if (index !== null) {\n /*\n Removing a file while is been uploaded mess with areAllFilesProccessed() function,\n as well give a wrong impression the request has been cancel to the server.\n Therefore is only possible to remove files once they were processed or on idle status.\n */\n if (isCompleted || files[index].status === types.status.IDLE || files[index].status === types.status.ERROR) {\n const fileClones = files.slice(0);\n fileClones.splice(index, 1);\n\n const uploadingFileListClone = uploadingFileList.slice(0);\n uploadingFileListClone.splice(index, 1);\n\n setFiles(() => fileClones);\n setUploadingFileList(() => uploadingFileListClone);\n onChange(fileClones);\n }\n }\n }\n\n const upload = React.useCallback(() => {\n const isSameList = (files, uploadingFileList) => {\n const sameList =\n files.length === uploadingFileList.length &&\n files.every((file, index) => file.key === uploadingFileList[index].key);\n\n return sameList;\n };\n\n function areAllFilesProccessed() {\n if (files.every(file => file.processed)) {\n setIsBusy(() => false);\n setisCompleted(() => true);\n onCompleted(files);\n }\n }\n\n function onSuccess({ file, response }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.isValid = true;\n file.processed = true;\n file.response = response;\n file.status = types.status.SUCCESS;\n return fileItem;\n })\n );\n\n areAllFilesProccessed();\n }\n\n function onError({ file, error }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.status = types.status.ERROR;\n file.error = error;\n file.processed = true;\n file.isValid = false;\n file.isServerValid = false;\n return fileItem;\n })\n );\n\n areAllFilesProccessed();\n }\n\n function onProgress({ file, percent }) {\n setFiles(\n setFile(file, fileItem => {\n const file = fileItem;\n file.progress = percent;\n file.status = types.status.PROCESSING;\n\n if (percent === 100) {\n file.status = types.status.WAITINGFORSERVER;\n }\n return fileItem;\n })\n );\n }\n\n if (files.length && !isSameList(files, uploadingFileList) && !isBusy) {\n if (files.every(file => !file.isValid || file.status === types.status.SUCCESS)) {\n return;\n }\n\n setUploadingFileList(() => JSON.parse(JSON.stringify(files)));\n setIsBusy(() => true);\n setisCompleted(() => null);\n onProcessed(files);\n\n files.forEach(file => {\n if (file.isValid && file.status !== types.status.SUCCESS) {\n uploadToServer({ file, endpoint, onProgress, onSuccess, onError, headers, onRequest });\n }\n });\n }\n }, [files, uploadingFileList, isBusy, onCompleted, endpoint, headers, onRequest, onProcessed]);\n\n React.useEffect(() => {\n if (hasAutoUpload) {\n upload();\n }\n }, [files, hasAutoUpload, upload]);\n\n return { files, setFiles, isBusy, isCompleted, upload, removeFile, cancelFile };\n}\n"],"file":"useProcessFiles.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paprika/uploader",
3
- "version": "6.0.0-next.0",
3
+ "version": "6.1.0-next.0",
4
4
  "description": "The Uploader component lets you upload files and see progress.",
5
5
  "author": "@paprika",
6
6
  "main": "lib/index.js",
@@ -16,19 +16,19 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@babel/runtime-corejs2": "^7.3.1",
19
- "@paprika/button": "^1.1.17-next.0",
19
+ "@paprika/button": "^1.1.17",
20
20
  "@paprika/helpers": "^2.4.2",
21
- "@paprika/icon": "^3.0.0-next.0",
22
- "@paprika/popover": "^2.0.9-next.0",
23
- "@paprika/raw-button": "^1.0.16-next.0",
24
- "@paprika/stylers": "^1.1.9-next.0",
25
- "@paprika/tokens": "^3.0.0-next.0",
21
+ "@paprika/icon": "^3.0.0",
22
+ "@paprika/popover": "^2.0.9",
23
+ "@paprika/raw-button": "^1.0.16",
24
+ "@paprika/stylers": "^1.1.9",
25
+ "@paprika/tokens": "^3.0.0",
26
26
  "prop-types": "^15.7.2",
27
27
  "superagent": "^8.0.9",
28
28
  "uuid": "^8.3.2"
29
29
  },
30
30
  "peerDependencies": {
31
- "@paprika/l10n": "^2.0.0-next.0",
31
+ "@paprika/l10n": "^2.0.0",
32
32
  "react": "^16.8.4 || ^17.0.2 || ^18.0.0",
33
33
  "react-dom": "^16.8.4 || ^17.0.2 || ^18.0.0",
34
34
  "styled-components": "^4.2.0"