@openedx/paragon 21.11.0 → 21.11.1

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.
@@ -177,8 +177,7 @@ function Dropzone(_ref) {
177
177
  return /*#__PURE__*/React.createElement("div", _extends({
178
178
  "data-testid": "dropzone-container"
179
179
  }, getRootProps({
180
- className: classNames('pgn__dropzone', {
181
- className,
180
+ className: classNames('pgn__dropzone', className, {
182
181
  'pgn__dropzone-validation-error': isMultipleDragged || errors.length > 0 || isDragReject,
183
182
  'pgn__dropzone-active': isDragActive && !isDragReject
184
183
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useDropzone","ErrorCode","fromEvent","useIntl","DragError","GenericError","UploadProgress","DefaultContent","messages","getTypesString","isMultipleTypes","formatBytes","Dropzone","_ref","className","accept","minSize","maxSize","validator","errorMessages","progressVariant","inputComponent","onProcessUpload","onUploadProgress","onUploadCancel","props","_objectWithoutProperties","_excluded","isMultipleDragged","setIsMultipleDragged","errors","setErrors","progress","setProgress","fileName","setFileName","undefined","controller","setController","intl","uploadError","uploadErrorMsg","invalidSizeLess","invalidSizeLessMsg","invalidSizeMore","invalidSizeMoreMsg","invalidType","invalidTypeMsg","multipleDragged","multipleDraggedMsg","onDragEnter","e","files","length","onDragLeave","onDropRejected","map","error","code","FileTooLarge","formatMessage","size","FileTooSmall","FileInvalidType","count","typeString","unexpectedValidationError","handleProgressUpload","progressEvent","percentValue","Math","round","loaded","total","handleUploadError","processUpload","fileData","newController","AbortController","requestConfig","signal","handleError","onDropAccepted","file","customValidationError","formData","FormData","append","name","handleUploadCancel","abort","getRootProps","getInputProps","isDragActive","isDragReject","multiple","maxFiles","disabled","renderContent","createElement","message","Fragment","errorMsgs","variant","percent","onCancel","_extends","defaultProps","Infinity","propTypes","string","objectOf","arrayOf","number","func","isRequired","shape","oneOfType","element","oneOf","node"],"sources":["../../src/Dropzone/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useDropzone, ErrorCode } from 'react-dropzone';\nimport { fromEvent } from 'file-selector';\nimport { useIntl } from 'react-intl';\n\nimport DragError from './DragError';\nimport GenericError from './GenericError';\nimport UploadProgress from './UploadProgress';\nimport DefaultContent from './DefaultContent';\nimport messages from './messages';\nimport { getTypesString, isMultipleTypes, formatBytes } from './utils';\n\nfunction Dropzone({\n className, accept, minSize, maxSize, validator,\n errorMessages, progressVariant, inputComponent,\n onProcessUpload, onUploadProgress, onUploadCancel,\n ...props\n}) {\n const [isMultipleDragged, setIsMultipleDragged] = useState(false);\n const [errors, setErrors] = useState([]);\n const [progress, setProgress] = useState(0);\n const [fileName, setFileName] = useState(undefined);\n const [controller, setController] = useState(undefined);\n const intl = useIntl();\n\n const {\n uploadError: uploadErrorMsg,\n invalidSizeLess: invalidSizeLessMsg,\n invalidSizeMore: invalidSizeMoreMsg,\n invalidType: invalidTypeMsg,\n multipleDragged: multipleDraggedMsg,\n } = errorMessages;\n\n const onDragEnter = async (e) => {\n if (errors) {\n setErrors([]);\n }\n const files = await fromEvent(e);\n if (files && files.length > 1) {\n setIsMultipleDragged(true);\n }\n };\n\n const onDragLeave = () => {\n if (isMultipleDragged) {\n setIsMultipleDragged(false);\n }\n };\n\n const onDropRejected = (files) => {\n if (!isMultipleDragged) {\n setErrors(files[0].errors.map(error => {\n switch (error.code) {\n case ErrorCode.FileTooLarge:\n return invalidSizeMoreMsg || intl.formatMessage(messages.invalidSizeMore, { size: formatBytes(maxSize) });\n case ErrorCode.FileTooSmall:\n return invalidSizeLessMsg || intl.formatMessage(messages.invalidSizeLess, { size: formatBytes(minSize) });\n case ErrorCode.FileInvalidType:\n return invalidTypeMsg || intl.formatMessage(\n messages.invalidType,\n { count: isMultipleTypes(accept) ? 2 : 1, typeString: getTypesString(accept) },\n );\n default:\n return intl.formatMessage(messages.unexpectedValidationError);\n }\n }));\n } else {\n setIsMultipleDragged(false);\n }\n };\n\n const handleProgressUpload = (progressEvent) => {\n const percentValue = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n setProgress(percentValue);\n onUploadProgress(percentValue, progressEvent);\n };\n\n const handleUploadError = (error) => {\n // check if request has been canceled before treating the exception as an upload error\n if (error.code !== 'ERR_CANCELED') {\n setProgress(0);\n setErrors([uploadErrorMsg || intl.formatMessage(messages.uploadError)]);\n }\n };\n\n const processUpload = (fileData) => {\n const newController = new AbortController();\n setController(newController);\n\n const requestConfig = {\n onUploadProgress: handleProgressUpload,\n signal: newController.signal,\n };\n\n onProcessUpload({\n fileData,\n requestConfig,\n handleError: handleUploadError,\n });\n };\n\n const onDropAccepted = async (files) => {\n const file = files[0];\n if (validator) {\n const customValidationError = await validator(file);\n if (customValidationError) {\n setErrors([customValidationError]);\n return;\n }\n }\n\n if (errors) {\n setErrors([]);\n }\n\n const formData = new FormData();\n formData.append('file', file);\n setFileName(file.name);\n\n processUpload(formData);\n };\n\n const handleUploadCancel = () => {\n controller.abort();\n setProgress(0);\n onUploadCancel();\n };\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragReject,\n } = useDropzone({\n multiple: false,\n maxFiles: 1,\n maxSize,\n minSize,\n onDragLeave,\n onDragEnter,\n onDropRejected,\n onDropAccepted,\n accept,\n disabled: progress && progress !== 100,\n });\n\n const renderContent = () => {\n if (isMultipleDragged) {\n return <DragError message={multipleDraggedMsg || intl.formatMessage(messages.multipleDragged)} />;\n }\n\n if (errors.length > 0) {\n return (\n <>\n <GenericError errorMsgs={errors} />\n {inputComponent || <DefaultContent minSize={minSize} maxSize={maxSize} accept={accept} />}\n </>\n );\n }\n\n if (progress && progress !== 100) {\n return (\n <UploadProgress\n variant={progressVariant}\n percent={progress}\n name={fileName}\n onCancel={handleUploadCancel}\n />\n );\n }\n\n return inputComponent || <DefaultContent minSize={minSize} maxSize={maxSize} accept={accept} />;\n };\n\n return (\n <div\n data-testid=\"dropzone-container\"\n {...getRootProps({\n className: classNames('pgn__dropzone', {\n className,\n 'pgn__dropzone-validation-error': isMultipleDragged || errors.length > 0 || isDragReject,\n 'pgn__dropzone-active': isDragActive && !isDragReject,\n }),\n })}\n {...props}\n >\n <input {...getInputProps()} />\n <div className=\"d-flex flex-column justify-content-around align-items-center w-100\">\n {renderContent()}\n </div>\n </div>\n );\n}\n\nDropzone.defaultProps = {\n className: undefined,\n accept: undefined,\n maxSize: Infinity,\n minSize: 0,\n onUploadProgress: () => {},\n onUploadCancel: () => {},\n errorMessages: {\n invalidType: undefined,\n invalidSizeLess: undefined,\n invalidSizeMore: undefined,\n multipleDragged: undefined,\n uploadError: undefined,\n },\n progressVariant: 'spinner',\n validator: undefined,\n inputComponent: undefined,\n};\n\nDropzone.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /**\n * Set accepted file types.\n * This should be an object with the keys set to the\n * [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types)\n * and the values to an array of file extensions.\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n /** Maximum file size (in bytes). */\n maxSize: PropTypes.number,\n /** Minimum file size (in bytes). */\n minSize: PropTypes.number,\n /**\n * A callback fired each time an upload progress event happens,\n * receives (percentageUploaded, progressEvent) as arguments.\n */\n onUploadProgress: PropTypes.func,\n /** A callback fired upon successful upload, receives Response object as a single argument. */\n onUploadCancel: PropTypes.func,\n /**\n * A function responsible for uploading the file.\n * Receives following object as its only argument\n * {\n * @param {object} fileData - Metadata about the uploaded file.\n * @param {object} requestConfig - Config to pass to `axios` call.\n * @param {function} handleError - Function to communicate to `Dropzone` that file upload resulted in failure,\n * expects `Error` object to be passed as its only argument.\n * }\n */\n onProcessUpload: PropTypes.func.isRequired,\n /**\n * An object containing error messages, following are supported:\n * 1) invalidType - A message to display when file of invalid type is dropped into `Dropzone`.\n * Defaults to 'The file type must be {filType} file / one of {fileTypes} files.'.\n * 2) invalidSizeLess - A message to display when file of size less than minSize value is dropped into `Dropzone`.\n * Defaults to 'File must be larger than {minSize}.'.\n * 3) invalidSizeMore - A message to display when file of size greater than maxSize value is dropped into `Dropzone`.\n * Defaults to 'File must be less than {maxSize}.'.\n * 4) multipleDragged - A message to display when multiple files are dragged over `Dropzone`.\n * 5) uploadError - A message to display in case upload results in an error\n */\n errorMessages: PropTypes.shape({\n invalidType: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n invalidSizeLess: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n invalidSizeMore: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n multipleDragged: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n uploadError: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /** Specifies how the upload progress should be displayed, component shows either spinner or a progress bar. */\n progressVariant: PropTypes.oneOf(['spinner', 'bar']),\n /**\n * Custom validation function, receives `File` object as its only argument.\n * Note that this function will be invoked as a last validation step before beginning an upload process.\n */\n validator: PropTypes.func,\n /** A component to display initial state of the `Dropzone`. */\n inputComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n};\n\nexport default Dropzone;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,WAAW,EAAEC,SAAS,QAAQ,gBAAgB;AACvD,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,OAAO,QAAQ,YAAY;AAEpC,OAAOC,SAAS,MAAM,aAAa;AACnC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,cAAc,EAAEC,eAAe,EAAEC,WAAW,QAAQ,SAAS;AAEtE,SAASC,QAAQA,CAAAC,IAAA,EAKd;EAAA,IALe;MAChBC,SAAS;MAAEC,MAAM;MAAEC,OAAO;MAAEC,OAAO;MAAEC,SAAS;MAC9CC,aAAa;MAAEC,eAAe;MAAEC,cAAc;MAC9CC,eAAe;MAAEC,gBAAgB;MAAEC;IAErC,CAAC,GAAAX,IAAA;IADIY,KAAK,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA;EAER,MAAM,CAACC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGhC,QAAQ,CAAC,KAAK,CAAC;EACjE,MAAM,CAACiC,MAAM,EAAEC,SAAS,CAAC,GAAGlC,QAAQ,CAAC,EAAE,CAAC;EACxC,MAAM,CAACmC,QAAQ,EAAEC,WAAW,CAAC,GAAGpC,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAM,CAACqC,QAAQ,EAAEC,WAAW,CAAC,GAAGtC,QAAQ,CAACuC,SAAS,CAAC;EACnD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGzC,QAAQ,CAACuC,SAAS,CAAC;EACvD,MAAMG,IAAI,GAAGpC,OAAO,CAAC,CAAC;EAEtB,MAAM;IACJqC,WAAW,EAAEC,cAAc;IAC3BC,eAAe,EAAEC,kBAAkB;IACnCC,eAAe,EAAEC,kBAAkB;IACnCC,WAAW,EAAEC,cAAc;IAC3BC,eAAe,EAAEC;EACnB,CAAC,GAAG9B,aAAa;EAEjB,MAAM+B,WAAW,GAAG,MAAOC,CAAC,IAAK;IAC/B,IAAIrB,MAAM,EAAE;MACVC,SAAS,CAAC,EAAE,CAAC;IACf;IACA,MAAMqB,KAAK,GAAG,MAAMlD,SAAS,CAACiD,CAAC,CAAC;IAChC,IAAIC,KAAK,IAAIA,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE;MAC7BxB,oBAAoB,CAAC,IAAI,CAAC;IAC5B;EACF,CAAC;EAED,MAAMyB,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAI1B,iBAAiB,EAAE;MACrBC,oBAAoB,CAAC,KAAK,CAAC;IAC7B;EACF,CAAC;EAED,MAAM0B,cAAc,GAAIH,KAAK,IAAK;IAChC,IAAI,CAACxB,iBAAiB,EAAE;MACtBG,SAAS,CAACqB,KAAK,CAAC,CAAC,CAAC,CAACtB,MAAM,CAAC0B,GAAG,CAACC,KAAK,IAAI;QACrC,QAAQA,KAAK,CAACC,IAAI;UAChB,KAAKzD,SAAS,CAAC0D,YAAY;YACzB,OAAOd,kBAAkB,IAAIN,IAAI,CAACqB,aAAa,CAACpD,QAAQ,CAACoC,eAAe,EAAE;cAAEiB,IAAI,EAAElD,WAAW,CAACM,OAAO;YAAE,CAAC,CAAC;UAC3G,KAAKhB,SAAS,CAAC6D,YAAY;YACzB,OAAOnB,kBAAkB,IAAIJ,IAAI,CAACqB,aAAa,CAACpD,QAAQ,CAACkC,eAAe,EAAE;cAAEmB,IAAI,EAAElD,WAAW,CAACK,OAAO;YAAE,CAAC,CAAC;UAC3G,KAAKf,SAAS,CAAC8D,eAAe;YAC5B,OAAOhB,cAAc,IAAIR,IAAI,CAACqB,aAAa,CACzCpD,QAAQ,CAACsC,WAAW,EACpB;cAAEkB,KAAK,EAAEtD,eAAe,CAACK,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;cAAEkD,UAAU,EAAExD,cAAc,CAACM,MAAM;YAAE,CAC/E,CAAC;UACH;YACE,OAAOwB,IAAI,CAACqB,aAAa,CAACpD,QAAQ,CAAC0D,yBAAyB,CAAC;QACjE;MACF,CAAC,CAAC,CAAC;IACL,CAAC,MAAM;MACLrC,oBAAoB,CAAC,KAAK,CAAC;IAC7B;EACF,CAAC;EAED,MAAMsC,oBAAoB,GAAIC,aAAa,IAAK;IAC9C,MAAMC,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAEH,aAAa,CAACI,MAAM,GAAG,GAAG,GAAIJ,aAAa,CAACK,KAAK,CAAC;IACnFxC,WAAW,CAACoC,YAAY,CAAC;IACzB9C,gBAAgB,CAAC8C,YAAY,EAAED,aAAa,CAAC;EAC/C,CAAC;EAED,MAAMM,iBAAiB,GAAIjB,KAAK,IAAK;IACnC;IACA,IAAIA,KAAK,CAACC,IAAI,KAAK,cAAc,EAAE;MACjCzB,WAAW,CAAC,CAAC,CAAC;MACdF,SAAS,CAAC,CAACU,cAAc,IAAIF,IAAI,CAACqB,aAAa,CAACpD,QAAQ,CAACgC,WAAW,CAAC,CAAC,CAAC;IACzE;EACF,CAAC;EAED,MAAMmC,aAAa,GAAIC,QAAQ,IAAK;IAClC,MAAMC,aAAa,GAAG,IAAIC,eAAe,CAAC,CAAC;IAC3CxC,aAAa,CAACuC,aAAa,CAAC;IAE5B,MAAME,aAAa,GAAG;MACpBxD,gBAAgB,EAAE4C,oBAAoB;MACtCa,MAAM,EAAEH,aAAa,CAACG;IACxB,CAAC;IAED1D,eAAe,CAAC;MACdsD,QAAQ;MACRG,aAAa;MACbE,WAAW,EAAEP;IACf,CAAC,CAAC;EACJ,CAAC;EAED,MAAMQ,cAAc,GAAG,MAAO9B,KAAK,IAAK;IACtC,MAAM+B,IAAI,GAAG/B,KAAK,CAAC,CAAC,CAAC;IACrB,IAAIlC,SAAS,EAAE;MACb,MAAMkE,qBAAqB,GAAG,MAAMlE,SAAS,CAACiE,IAAI,CAAC;MACnD,IAAIC,qBAAqB,EAAE;QACzBrD,SAAS,CAAC,CAACqD,qBAAqB,CAAC,CAAC;QAClC;MACF;IACF;IAEA,IAAItD,MAAM,EAAE;MACVC,SAAS,CAAC,EAAE,CAAC;IACf;IAEA,MAAMsD,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;IAC/BD,QAAQ,CAACE,MAAM,CAAC,MAAM,EAAEJ,IAAI,CAAC;IAC7BhD,WAAW,CAACgD,IAAI,CAACK,IAAI,CAAC;IAEtBb,aAAa,CAACU,QAAQ,CAAC;EACzB,CAAC;EAED,MAAMI,kBAAkB,GAAGA,CAAA,KAAM;IAC/BpD,UAAU,CAACqD,KAAK,CAAC,CAAC;IAClBzD,WAAW,CAAC,CAAC,CAAC;IACdT,cAAc,CAAC,CAAC;EAClB,CAAC;EAED,MAAM;IACJmE,YAAY;IACZC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,GAAG9F,WAAW,CAAC;IACd+F,QAAQ,EAAE,KAAK;IACfC,QAAQ,EAAE,CAAC;IACX/E,OAAO;IACPD,OAAO;IACPsC,WAAW;IACXJ,WAAW;IACXK,cAAc;IACd2B,cAAc;IACdnE,MAAM;IACNkF,QAAQ,EAAEjE,QAAQ,IAAIA,QAAQ,KAAK;EACrC,CAAC,CAAC;EAEF,MAAMkE,aAAa,GAAGA,CAAA,KAAM;IAC1B,IAAItE,iBAAiB,EAAE;MACrB,oBAAOhC,KAAA,CAAAuG,aAAA,CAAC/F,SAAS;QAACgG,OAAO,EAAEnD,kBAAkB,IAAIV,IAAI,CAACqB,aAAa,CAACpD,QAAQ,CAACwC,eAAe;MAAE,CAAE,CAAC;IACnG;IAEA,IAAIlB,MAAM,CAACuB,MAAM,GAAG,CAAC,EAAE;MACrB,oBACEzD,KAAA,CAAAuG,aAAA,CAAAvG,KAAA,CAAAyG,QAAA,qBACEzG,KAAA,CAAAuG,aAAA,CAAC9F,YAAY;QAACiG,SAAS,EAAExE;MAAO,CAAE,CAAC,EAClCT,cAAc,iBAAIzB,KAAA,CAAAuG,aAAA,CAAC5F,cAAc;QAACS,OAAO,EAAEA,OAAQ;QAACC,OAAO,EAAEA,OAAQ;QAACF,MAAM,EAAEA;MAAO,CAAE,CACxF,CAAC;IAEP;IAEA,IAAIiB,QAAQ,IAAIA,QAAQ,KAAK,GAAG,EAAE;MAChC,oBACEpC,KAAA,CAAAuG,aAAA,CAAC7F,cAAc;QACbiG,OAAO,EAAEnF,eAAgB;QACzBoF,OAAO,EAAExE,QAAS;QAClBwD,IAAI,EAAEtD,QAAS;QACfuE,QAAQ,EAAEhB;MAAmB,CAC9B,CAAC;IAEN;IAEA,OAAOpE,cAAc,iBAAIzB,KAAA,CAAAuG,aAAA,CAAC5F,cAAc;MAACS,OAAO,EAAEA,OAAQ;MAACC,OAAO,EAAEA,OAAQ;MAACF,MAAM,EAAEA;IAAO,CAAE,CAAC;EACjG,CAAC;EAED,oBACEnB,KAAA,CAAAuG,aAAA,QAAAO,QAAA;IACE,eAAY;EAAoB,GAC5Bf,YAAY,CAAC;IACf7E,SAAS,EAAEf,UAAU,CAAC,eAAe,EAAE;MACrCe,SAAS;MACT,gCAAgC,EAAEc,iBAAiB,IAAIE,MAAM,CAACuB,MAAM,GAAG,CAAC,IAAIyC,YAAY;MACxF,sBAAsB,EAAED,YAAY,IAAI,CAACC;IAC3C,CAAC;EACH,CAAC,CAAC,EACErE,KAAK,gBAET7B,KAAA,CAAAuG,aAAA,UAAWP,aAAa,CAAC,CAAI,CAAC,eAC9BhG,KAAA,CAAAuG,aAAA;IAAKrF,SAAS,EAAC;EAAoE,GAChFoF,aAAa,CAAC,CACZ,CACF,CAAC;AAEV;AAEAtF,QAAQ,CAAC+F,YAAY,GAAG;EACtB7F,SAAS,EAAEsB,SAAS;EACpBrB,MAAM,EAAEqB,SAAS;EACjBnB,OAAO,EAAE2F,QAAQ;EACjB5F,OAAO,EAAE,CAAC;EACVO,gBAAgB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC1BC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBL,aAAa,EAAE;IACb2B,WAAW,EAAEV,SAAS;IACtBM,eAAe,EAAEN,SAAS;IAC1BQ,eAAe,EAAER,SAAS;IAC1BY,eAAe,EAAEZ,SAAS;IAC1BI,WAAW,EAAEJ;EACf,CAAC;EACDhB,eAAe,EAAE,SAAS;EAC1BF,SAAS,EAAEkB,SAAS;EACpBf,cAAc,EAAEe;AAClB,CAAC;AAEDxB,QAAQ,CAACiG,SAAS,GAAG;EACnB;EACA/F,SAAS,EAAEhB,SAAS,CAACgH,MAAM;EAC3B;AACF;AACA;AACA;AACA;AACA;EACE/F,MAAM,EAAEjB,SAAS,CAACiH,QAAQ,CAACjH,SAAS,CAACkH,OAAO,CAAClH,SAAS,CAACgH,MAAM,CAAC,CAAC;EAC/D;EACA7F,OAAO,EAAEnB,SAAS,CAACmH,MAAM;EACzB;EACAjG,OAAO,EAAElB,SAAS,CAACmH,MAAM;EACzB;AACF;AACA;AACA;EACE1F,gBAAgB,EAAEzB,SAAS,CAACoH,IAAI;EAChC;EACA1F,cAAc,EAAE1B,SAAS,CAACoH,IAAI;EAC9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE5F,eAAe,EAAExB,SAAS,CAACoH,IAAI,CAACC,UAAU;EAC1C;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEhG,aAAa,EAAErB,SAAS,CAACsH,KAAK,CAAC;IAC7BtE,WAAW,EAAEhD,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACgH,MAAM,EAAEhH,SAAS,CAACwH,OAAO,CAAC,CAAC;IACvE5E,eAAe,EAAE5C,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACgH,MAAM,EAAEhH,SAAS,CAACwH,OAAO,CAAC,CAAC;IAC3E1E,eAAe,EAAE9C,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACgH,MAAM,EAAEhH,SAAS,CAACwH,OAAO,CAAC,CAAC;IAC3EtE,eAAe,EAAElD,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACgH,MAAM,EAAEhH,SAAS,CAACwH,OAAO,CAAC,CAAC;IAC3E9E,WAAW,EAAE1C,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACgH,MAAM,EAAEhH,SAAS,CAACwH,OAAO,CAAC;EACxE,CAAC,CAAC;EACF;EACAlG,eAAe,EAAEtB,SAAS,CAACyH,KAAK,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;EACpD;AACF;AACA;AACA;EACErG,SAAS,EAAEpB,SAAS,CAACoH,IAAI;EACzB;EACA7F,cAAc,EAAEvB,SAAS,CAACuH,SAAS,CAAC,CAACvH,SAAS,CAACoH,IAAI,EAAEpH,SAAS,CAAC0H,IAAI,CAAC;AACtE,CAAC;AAED,eAAe5G,QAAQ"}
1
+ {"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useDropzone","ErrorCode","fromEvent","useIntl","DragError","GenericError","UploadProgress","DefaultContent","messages","getTypesString","isMultipleTypes","formatBytes","Dropzone","_ref","className","accept","minSize","maxSize","validator","errorMessages","progressVariant","inputComponent","onProcessUpload","onUploadProgress","onUploadCancel","props","_objectWithoutProperties","_excluded","isMultipleDragged","setIsMultipleDragged","errors","setErrors","progress","setProgress","fileName","setFileName","undefined","controller","setController","intl","uploadError","uploadErrorMsg","invalidSizeLess","invalidSizeLessMsg","invalidSizeMore","invalidSizeMoreMsg","invalidType","invalidTypeMsg","multipleDragged","multipleDraggedMsg","onDragEnter","e","files","length","onDragLeave","onDropRejected","map","error","code","FileTooLarge","formatMessage","size","FileTooSmall","FileInvalidType","count","typeString","unexpectedValidationError","handleProgressUpload","progressEvent","percentValue","Math","round","loaded","total","handleUploadError","processUpload","fileData","newController","AbortController","requestConfig","signal","handleError","onDropAccepted","file","customValidationError","formData","FormData","append","name","handleUploadCancel","abort","getRootProps","getInputProps","isDragActive","isDragReject","multiple","maxFiles","disabled","renderContent","createElement","message","Fragment","errorMsgs","variant","percent","onCancel","_extends","defaultProps","Infinity","propTypes","string","objectOf","arrayOf","number","func","isRequired","shape","oneOfType","element","oneOf","node"],"sources":["../../src/Dropzone/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useDropzone, ErrorCode } from 'react-dropzone';\nimport { fromEvent } from 'file-selector';\nimport { useIntl } from 'react-intl';\n\nimport DragError from './DragError';\nimport GenericError from './GenericError';\nimport UploadProgress from './UploadProgress';\nimport DefaultContent from './DefaultContent';\nimport messages from './messages';\nimport { getTypesString, isMultipleTypes, formatBytes } from './utils';\n\nfunction Dropzone({\n className, accept, minSize, maxSize, validator,\n errorMessages, progressVariant, inputComponent,\n onProcessUpload, onUploadProgress, onUploadCancel,\n ...props\n}) {\n const [isMultipleDragged, setIsMultipleDragged] = useState(false);\n const [errors, setErrors] = useState([]);\n const [progress, setProgress] = useState(0);\n const [fileName, setFileName] = useState(undefined);\n const [controller, setController] = useState(undefined);\n const intl = useIntl();\n\n const {\n uploadError: uploadErrorMsg,\n invalidSizeLess: invalidSizeLessMsg,\n invalidSizeMore: invalidSizeMoreMsg,\n invalidType: invalidTypeMsg,\n multipleDragged: multipleDraggedMsg,\n } = errorMessages;\n\n const onDragEnter = async (e) => {\n if (errors) {\n setErrors([]);\n }\n const files = await fromEvent(e);\n if (files && files.length > 1) {\n setIsMultipleDragged(true);\n }\n };\n\n const onDragLeave = () => {\n if (isMultipleDragged) {\n setIsMultipleDragged(false);\n }\n };\n\n const onDropRejected = (files) => {\n if (!isMultipleDragged) {\n setErrors(files[0].errors.map(error => {\n switch (error.code) {\n case ErrorCode.FileTooLarge:\n return invalidSizeMoreMsg || intl.formatMessage(messages.invalidSizeMore, { size: formatBytes(maxSize) });\n case ErrorCode.FileTooSmall:\n return invalidSizeLessMsg || intl.formatMessage(messages.invalidSizeLess, { size: formatBytes(minSize) });\n case ErrorCode.FileInvalidType:\n return invalidTypeMsg || intl.formatMessage(\n messages.invalidType,\n { count: isMultipleTypes(accept) ? 2 : 1, typeString: getTypesString(accept) },\n );\n default:\n return intl.formatMessage(messages.unexpectedValidationError);\n }\n }));\n } else {\n setIsMultipleDragged(false);\n }\n };\n\n const handleProgressUpload = (progressEvent) => {\n const percentValue = Math.round((progressEvent.loaded * 100) / progressEvent.total);\n setProgress(percentValue);\n onUploadProgress(percentValue, progressEvent);\n };\n\n const handleUploadError = (error) => {\n // check if request has been canceled before treating the exception as an upload error\n if (error.code !== 'ERR_CANCELED') {\n setProgress(0);\n setErrors([uploadErrorMsg || intl.formatMessage(messages.uploadError)]);\n }\n };\n\n const processUpload = (fileData) => {\n const newController = new AbortController();\n setController(newController);\n\n const requestConfig = {\n onUploadProgress: handleProgressUpload,\n signal: newController.signal,\n };\n\n onProcessUpload({\n fileData,\n requestConfig,\n handleError: handleUploadError,\n });\n };\n\n const onDropAccepted = async (files) => {\n const file = files[0];\n if (validator) {\n const customValidationError = await validator(file);\n if (customValidationError) {\n setErrors([customValidationError]);\n return;\n }\n }\n\n if (errors) {\n setErrors([]);\n }\n\n const formData = new FormData();\n formData.append('file', file);\n setFileName(file.name);\n\n processUpload(formData);\n };\n\n const handleUploadCancel = () => {\n controller.abort();\n setProgress(0);\n onUploadCancel();\n };\n\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragReject,\n } = useDropzone({\n multiple: false,\n maxFiles: 1,\n maxSize,\n minSize,\n onDragLeave,\n onDragEnter,\n onDropRejected,\n onDropAccepted,\n accept,\n disabled: progress && progress !== 100,\n });\n\n const renderContent = () => {\n if (isMultipleDragged) {\n return <DragError message={multipleDraggedMsg || intl.formatMessage(messages.multipleDragged)} />;\n }\n\n if (errors.length > 0) {\n return (\n <>\n <GenericError errorMsgs={errors} />\n {inputComponent || <DefaultContent minSize={minSize} maxSize={maxSize} accept={accept} />}\n </>\n );\n }\n\n if (progress && progress !== 100) {\n return (\n <UploadProgress\n variant={progressVariant}\n percent={progress}\n name={fileName}\n onCancel={handleUploadCancel}\n />\n );\n }\n\n return inputComponent || <DefaultContent minSize={minSize} maxSize={maxSize} accept={accept} />;\n };\n\n return (\n <div\n data-testid=\"dropzone-container\"\n {...getRootProps({\n className: classNames('pgn__dropzone', className, {\n 'pgn__dropzone-validation-error': isMultipleDragged || errors.length > 0 || isDragReject,\n 'pgn__dropzone-active': isDragActive && !isDragReject,\n }),\n })}\n {...props}\n >\n <input {...getInputProps()} />\n <div className=\"d-flex flex-column justify-content-around align-items-center w-100\">\n {renderContent()}\n </div>\n </div>\n );\n}\n\nDropzone.defaultProps = {\n className: undefined,\n accept: undefined,\n maxSize: Infinity,\n minSize: 0,\n onUploadProgress: () => {},\n onUploadCancel: () => {},\n errorMessages: {\n invalidType: undefined,\n invalidSizeLess: undefined,\n invalidSizeMore: undefined,\n multipleDragged: undefined,\n uploadError: undefined,\n },\n progressVariant: 'spinner',\n validator: undefined,\n inputComponent: undefined,\n};\n\nDropzone.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /**\n * Set accepted file types.\n * This should be an object with the keys set to the\n * [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types)\n * and the values to an array of file extensions.\n */\n accept: PropTypes.objectOf(PropTypes.arrayOf(PropTypes.string)),\n /** Maximum file size (in bytes). */\n maxSize: PropTypes.number,\n /** Minimum file size (in bytes). */\n minSize: PropTypes.number,\n /**\n * A callback fired each time an upload progress event happens,\n * receives (percentageUploaded, progressEvent) as arguments.\n */\n onUploadProgress: PropTypes.func,\n /** A callback fired upon successful upload, receives Response object as a single argument. */\n onUploadCancel: PropTypes.func,\n /**\n * A function responsible for uploading the file.\n * Receives following object as its only argument\n * {\n * @param {object} fileData - Metadata about the uploaded file.\n * @param {object} requestConfig - Config to pass to `axios` call.\n * @param {function} handleError - Function to communicate to `Dropzone` that file upload resulted in failure,\n * expects `Error` object to be passed as its only argument.\n * }\n */\n onProcessUpload: PropTypes.func.isRequired,\n /**\n * An object containing error messages, following are supported:\n * 1) invalidType - A message to display when file of invalid type is dropped into `Dropzone`.\n * Defaults to 'The file type must be {filType} file / one of {fileTypes} files.'.\n * 2) invalidSizeLess - A message to display when file of size less than minSize value is dropped into `Dropzone`.\n * Defaults to 'File must be larger than {minSize}.'.\n * 3) invalidSizeMore - A message to display when file of size greater than maxSize value is dropped into `Dropzone`.\n * Defaults to 'File must be less than {maxSize}.'.\n * 4) multipleDragged - A message to display when multiple files are dragged over `Dropzone`.\n * 5) uploadError - A message to display in case upload results in an error\n */\n errorMessages: PropTypes.shape({\n invalidType: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n invalidSizeLess: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n invalidSizeMore: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n multipleDragged: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n uploadError: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /** Specifies how the upload progress should be displayed, component shows either spinner or a progress bar. */\n progressVariant: PropTypes.oneOf(['spinner', 'bar']),\n /**\n * Custom validation function, receives `File` object as its only argument.\n * Note that this function will be invoked as a last validation step before beginning an upload process.\n */\n validator: PropTypes.func,\n /** A component to display initial state of the `Dropzone`. */\n inputComponent: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n};\n\nexport default Dropzone;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openedx/paragon",
3
- "version": "21.11.0",
3
+ "version": "21.11.1",
4
4
  "description": "Accessible, responsive UI component library based on Bootstrap.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -178,8 +178,7 @@ function Dropzone({
178
178
  <div
179
179
  data-testid="dropzone-container"
180
180
  {...getRootProps({
181
- className: classNames('pgn__dropzone', {
182
- className,
181
+ className: classNames('pgn__dropzone', className, {
183
182
  'pgn__dropzone-validation-error': isMultipleDragged || errors.length > 0 || isDragReject,
184
183
  'pgn__dropzone-active': isDragActive && !isDragReject,
185
184
  }),