@bigbinary/neeto-molecules 3.3.19 → 3.3.21

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/README.md CHANGED
@@ -69,6 +69,7 @@ https://neeto-molecules.neeto.com/
69
69
  - [ShareViaEmail](./docs/components/ShareViaEmail.md)
70
70
  - [ShareViaLink](./docs/components/ShareViaLink.md)
71
71
  - [Sidebar](./docs/components/Sidebar.md)
72
+ - [StatusDropdown](./docs/components/StatusDropdown.md)
72
73
  - [StickyRibbonsContainer](./docs/components/StickyRibbonsContainer.md)
73
74
  - [SubHeader](./docs/components/SubHeader.md)
74
75
  - [SuffixedInput](./docs/components/SuffixedInput.md)
@@ -84,13 +84,13 @@ var DropZone = function DropZone(_ref) {
84
84
  }));
85
85
  };
86
86
 
87
- var css = ".neeto-molecules-file-upload__dropzone{background-color:rgba(var(--neeto-ui-primary-800),.1);border:2px dashed rgba(var(--neeto-ui-primary-800),.5);border-radius:var(--neeto-ui-rounded-md);color:rgba(var(--neeto-ui-gray-700),1);padding:1.5em;transition:var(--neeto-ui-transition)}.neeto-molecules-file-upload__dropzone:hover{background-color:rgba(var(--neeto-ui-primary-800),.2)}.neeto-molecules-file-upload__dropzone-inner{text-align:center}.neeto-molecules-file-upload__upload-icon{color:rgba(var(--neeto-ui-primary-800),1);display:block;margin-bottom:1.25em;margin-left:auto;margin-right:auto}.neeto-molecules-file-upload__upload-label{display:flex;font-size:1rem;gap:.3125em;justify-content:center}.neeto-molecules-file-upload__choose-file{font-weight:500}.neeto-molecules-file-upload__dropzone-helper-block{margin-top:.5em}.neeto-molecules-file-upload__dropzone-helper-text{color:rgba(var(--neeto-ui-gray-700),.65);display:block;font-size:.75rem;line-height:1.2;margin-bottom:.5rem}.neeto-molecules-file-upload__uploaded-list{list-style:none;margin:1.25em 0;padding:0}.neeto-molecules-file-upload__uploaded-list-item{align-items:center;background-color:rgba(var(--neeto-ui-primary-800),.1);border:1px solid rgba(var(--neeto-ui-primary-800),.5);display:flex;gap:.75em;list-style:none;margin-bottom:-1px;padding:.5em .75em}.neeto-molecules-file-upload__uploaded-list-item:first-of-type{border-top-left-radius:var(--neeto-ui-gray-700);border-top-right-radius:var(--neeto-ui-gray-700)}.neeto-molecules-file-upload__uploaded-list-item:last-of-type{border-bottom-left-radius:var(--neeto-ui-gray-700);border-bottom-right-radius:var(--neeto-ui-gray-700)}.neeto-molecules-file-upload__file-preview{color:#4b2876;position:relative}.neeto-molecules-file-upload__file-preview .neeto-molecules-ring{height:100%;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress__circle-wrapper{position:relative}.neeto-molecules-file-upload__file-info{word-wrap:break-word;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-wrap:break-word}.neeto-molecules-file-upload__file-info-name{font-size:.875em;margin-bottom:.3125em}.neeto-molecules-file-upload__file-info-size{color:rgba(var(--neeto-ui-gray-700),.65);font-size:.75em}.neeto-molecules-file-upload__actions{flex-shrink:0;margin-left:auto;position:relative}.neeto-molecules-file-upload__success-indicator{align-items:center;border-radius:100%;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__success-indicator.neeto-molecules-file-upload__success-indicator--active{background-color:rgb(var(--neeto-ui-primary-800));color:rgb(var(--neeto-ui-white))}.neeto-molecules-file-upload__button--red{align-items:center;background-color:rgb(var(--neeto-ui-error-500));border-radius:100%;color:#fff;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__remove-button{left:0;opacity:0;position:absolute;top:0;transition:var(--neeto-ui-transition);visibility:hidden}.neeto-molecules-file-upload__actions:hover .neeto-molecules-file-upload__remove-button{opacity:1;visibility:visible}.neeto-molecules-ring{align-items:center;display:inline-flex;height:3.125em;justify-content:center;position:relative;width:3.125em}.neeto-molecules-ring div{animation:neeto-molecules-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid rgb(var(--neeto-ui-primary-800));border-color:rgb(var(--neeto-ui-primary-800)) transparent transparent transparent;border-radius:50%;box-sizing:border-box;display:block;height:1.75em;position:absolute;width:1.75em}.neeto-molecules-ring div:first-child{animation-delay:-.45s}.neeto-molecules-ring div:nth-child(2){animation-delay:-.3s}.neeto-molecules-ring div:nth-child(3){animation-delay:-.15s}@keyframes neeto-molecules-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.neeto-molecules-invisible{visibility:hidden}.neeto-molecules-input__error-text{font-size:.875rem;line-height:1.2;margin-top:.5em}.neeto-molecules-input__error-text-style-handle{background-color:rgb(var(--neeto-ui-error-100));border-radius:3px;color:rgb(var(--neeto-ui-error-500));display:inline-block;font-size:.875rem;line-height:1.2;padding:3px 6px}";
87
+ var css = ":root{--neeto-molecules-file-upload-dropzone-color:var(--neeto-ui-gray-800),1;--neeto-molecules-file-upload-dropzone-help-text-color:var(--neeto-ui-gray-700),1;--neeto-molecules-file-upload-dropzone-icon-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-dropzone-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-dropzone-hover-background-color:var(--neeto-ui-gray-100,1);--neeto-molecules-file-upload-dropzone-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-border-radius:var(--neeto-ui-rounded-md);--neeto-molecules-file-upload-transition:var(--neeto-ui-transition);--neeto-molecules-file-upload-list-item-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-list-item-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-preview-icon-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-progress-ring-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-cancel-background-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-cancel-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-error-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-error-background-color:var(--neeto-ui-white),1}.neeto-molecules-file-upload__dropzone{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-background-color));border:2px dashed rgba(var(--neeto-molecules-file-upload-dropzone-border-color));border-radius:var(--neeto-ui-rounded-md);border-radius:var(--neeto-molecules-file-upload-border-radius);color:rgba(var(--neeto-ui-gray-800),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-color));padding:1.5em;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition)}.neeto-molecules-file-upload__dropzone:hover{background-color:rgba(1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-hover-background-color))}.neeto-molecules-file-upload__dropzone-inner{text-align:center}.neeto-molecules-file-upload__upload-icon{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-icon-color));display:block;margin-bottom:1.25em;margin-left:auto;margin-right:auto}.neeto-molecules-file-upload__upload-label{display:flex;font-size:1rem;gap:.3125em;justify-content:center}.neeto-molecules-file-upload__choose-file{font-weight:500}.neeto-molecules-file-upload__dropzone-helper-block{margin-top:.5em}.neeto-molecules-file-upload__dropzone-helper-text{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));display:block;font-size:.75rem;line-height:1.2;margin-bottom:.5rem}.neeto-molecules-file-upload__uploaded-list{list-style:none;margin:1.25em 0;padding:0}.neeto-molecules-file-upload__uploaded-list-item{align-items:center;background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-list-item-background-color));border:1px solid rgba(var(--neeto-molecules-file-upload-list-item-border-color));display:flex;gap:.75em;list-style:none;margin-bottom:-1px;padding:.5em .75em}.neeto-molecules-file-upload__uploaded-list-item:first-of-type{border-top-left-radius:var(--neeto-ui-rounded-md);border-top-left-radius:var(--neeto-molecules-file-upload-border-radius);border-top-right-radius:var(--neeto-ui-rounded-md);border-top-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__uploaded-list-item:last-of-type{border-bottom-left-radius:var(--neeto-ui-rounded-md);border-bottom-left-radius:var(--neeto-molecules-file-upload-border-radius);border-bottom-right-radius:var(--neeto-ui-rounded-md);border-bottom-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__file-preview{color:rgba(var(--neeto-ui-gray-400),1);color:rgba(var(--neeto-molecules-file-upload-preview-icon-color));position:relative}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress__circle-wrapper{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-progress-ring-background-color));position:relative}.neeto-molecules-file-upload__file-info{word-wrap:break-word;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-wrap:break-word}.neeto-molecules-file-upload__file-info-name{font-size:.875em;margin-bottom:.3125em}.neeto-molecules-file-upload__file-info-size{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));font-size:.75em}.neeto-molecules-file-upload__actions{flex-shrink:0;margin-left:auto;position:relative}.neeto-molecules-file-upload__success-indicator{align-items:center;border-radius:100%;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__success-indicator.neeto-molecules-file-upload__success-indicator--active{background-color:rgba(var(--neeto-ui-primary-500),1);background-color:rgba(var(--neeto-molecules-file-upload-success-background-color));color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-success-color))}.neeto-molecules-file-upload__button--red{align-items:center;background-color:rgba(var(--neeto-ui-error-500),1);background-color:rgba(var(--neeto-molecules-file-upload-cancel-background-color));border-radius:100%;color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-cancel-color));display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__remove-button{left:0;opacity:0;position:absolute;top:0;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition);visibility:hidden}.neeto-molecules-file-upload__actions:hover .neeto-molecules-file-upload__remove-button{opacity:1;visibility:visible}.neeto-molecules-invisible{visibility:hidden}.neeto-molecules-input__error-text{font-size:.875rem;line-height:1.2;margin-top:.5em}.neeto-molecules-input__error-text-style-handle{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-error-background-color));border-radius:3px;color:rgba(var(--neeto-ui-error-500),1);color:rgba(var(--neeto-molecules-file-upload-error-color));display:inline-block;font-size:.875rem;line-height:1.2;padding:3px 6px}";
88
88
  n(css,{});
89
89
 
90
90
  var Progress = function Progress(_ref) {
91
91
  var percents = _ref.percents,
92
92
  _ref$stroke = _ref.stroke,
93
- stroke = _ref$stroke === void 0 ? "blue" : _ref$stroke,
93
+ stroke = _ref$stroke === void 0 ? "currentColor" : _ref$stroke,
94
94
  _ref$emptyStroke = _ref.emptyStroke,
95
95
  emptyStroke = _ref$emptyStroke === void 0 ? stroke : _ref$emptyStroke,
96
96
  _ref$emptyStrokeOpaci = _ref.emptyStrokeOpacity,
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/constants.js","../src/components/FileUpload/utils.js","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"blue\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes, renderErrorMessage } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) &&\n fileRejections.map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","Math","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","index","assoc","newFiles","filter","_","idx","useEffect","onDropAccepted","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","map","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","maxFileSizeInBytes","isUploadingFile","isNotNil","shouldShowError","isEmpty","_Fragment","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/constants.js","../src/components/FileUpload/utils.js","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes, renderErrorMessage } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) &&\n fileRejections.map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","Math","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","index","assoc","newFiles","filter","_","idx","useEffect","onDropAccepted","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","map","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","maxFileSizeInBytes","isUploadingFile","isNotNil","shouldShowError","isEmpty","_Fragment","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { _findBy } from '@bigbinary/neeto-cist';
3
+ import Dropdown from '@bigbinary/neetoui/Dropdown';
4
+ import Spinner from '@bigbinary/neetoui/Spinner';
5
+ import { memo } from 'react';
6
+ import { jsx, jsxs } from 'react/jsx-runtime';
7
+ import { n } from './inject-css-c86de496.js';
8
+ import Down from '@bigbinary/neeto-icons/Down';
9
+ import Typography from '@bigbinary/neetoui/Typography';
10
+
11
+ var NeetoUIMenu = Dropdown.Menu,
12
+ MenuItem = Dropdown.MenuItem;
13
+ var Menu = function Menu(_ref) {
14
+ var onItemClick = _ref.onItemClick,
15
+ options = _ref.options,
16
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
17
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
18
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
19
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses;
20
+ var allowedOptions = shouldShowAllOptions ? options : options.filter(function (status) {
21
+ return !hiddenStatuses.includes(status.value);
22
+ });
23
+ return /*#__PURE__*/jsx(NeetoUIMenu, {
24
+ "data-testid": "status-dropdown-menu",
25
+ children: allowedOptions === null || allowedOptions === void 0 ? void 0 : allowedOptions.map(function (option) {
26
+ return /*#__PURE__*/jsx(MenuItem.Button, {
27
+ className: "status-dropdown-item--".concat(option.color),
28
+ "data-testid": "status-dropdown-item-".concat(option.value),
29
+ onClick: function onClick() {
30
+ return onItemClick(option);
31
+ },
32
+ children: option.label
33
+ }, option.value);
34
+ })
35
+ });
36
+ };
37
+ var Menu$1 = /*#__PURE__*/memo(Menu);
38
+
39
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.status-dropdown-target--open{background-color:#e2f1ff;background-color:rgb(var(--neeto-molecules-status-bg-open));color:#095aba;color:rgb(var(--neeto-molecules-status-color-open))}.status-dropdown-target--done{background-color:#faf1e1;background-color:rgb(var(--neeto-molecules-status-bg-done));color:#bd640d;color:rgb(var(--neeto-molecules-status-color-done))}.status-dropdown-target--waiting{background-color:#e9ebed;background-color:rgb(var(--neeto-molecules-status-bg-waiting));color:#2f3941;color:rgb(var(--neeto-molecules-status-color-waiting))}.status-dropdown-target--red{background-color:#feecf0;background-color:rgb(var(--neeto-molecules-status-bg-red));color:#bb121a;color:rgb(var(--neeto-molecules-status-color-red))}.status-dropdown-target--yellow{background-color:#fff7e9;background-color:rgb(var(--neeto-molecules-status-bg-yellow));color:#ffcc70;color:rgb(var(--neeto-molecules-status-color-yellow))}.status-dropdown-target--violet{background-color:#ebdeff;background-color:rgb(var(--neeto-molecules-status-bg-violet));color:#9d62a2;color:rgb(var(--neeto-molecules-status-color-violet))}.status-dropdown-target--pink{background-color:#fee9ff;background-color:rgb(var(--neeto-molecules-status-bg-pink));color:#e13ee6;color:rgb(var(--neeto-molecules-status-color-pink))}.status-dropdown-target--teal{background-color:#e4f4ff;background-color:rgb(var(--neeto-molecules-status-bg-teal));color:#26577c;color:rgb(var(--neeto-molecules-status-color-teal))}.status-dropdown-target--cyan{background-color:#e0fffe;background-color:rgb(var(--neeto-molecules-status-bg-cyan));color:#42a09d;color:rgb(var(--neeto-molecules-status-color-cyan))}.status-dropdown-target--green{background-color:#e0f4ee;background-color:rgb(var(--neeto-molecules-status-bg-green));color:#107154;color:rgb(var(--neeto-molecules-status-color-green))}.status-dropdown-item--open{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
40
+ n(css,{});
41
+
42
+ var ICON_SIZE = 16;
43
+
44
+ var Target = function Target(_ref) {
45
+ var color = _ref.color,
46
+ label = _ref.label;
47
+ var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
48
+ return /*#__PURE__*/jsxs("div", {
49
+ className: targetClassName,
50
+ "data-testid": "status-dropdown",
51
+ children: [/*#__PURE__*/jsx(Typography, {
52
+ className: "inline",
53
+ style: "body2",
54
+ children: label
55
+ }), /*#__PURE__*/jsx(Down, {
56
+ className: "ml-2 inline",
57
+ size: ICON_SIZE
58
+ })]
59
+ });
60
+ };
61
+ var Target$1 = /*#__PURE__*/memo(Target);
62
+
63
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
64
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
65
+ var StatusDropdown = function StatusDropdown(_ref) {
66
+ var _ref$disabled = _ref.disabled,
67
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
68
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
69
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses,
70
+ _ref$isLoading = _ref.isLoading,
71
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
72
+ onItemClick = _ref.onItemClick,
73
+ options = _ref.options,
74
+ selectedValue = _ref.selectedValue,
75
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
76
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt;
77
+ var selectedOption = _findBy({
78
+ value: selectedValue
79
+ }, options);
80
+ return /*#__PURE__*/jsx(Dropdown, {
81
+ disabled: disabled,
82
+ customTarget: function customTarget() {
83
+ return /*#__PURE__*/jsx(Target$1, _objectSpread({
84
+ label: selectedValue
85
+ }, selectedOption));
86
+ },
87
+ strategy: "fixed",
88
+ children: isLoading ? /*#__PURE__*/jsx("div", {
89
+ className: "flex w-full items-center justify-center py-8",
90
+ children: /*#__PURE__*/jsx(Spinner, {})
91
+ }) : /*#__PURE__*/jsx(Menu$1, {
92
+ hiddenStatuses: hiddenStatuses,
93
+ onItemClick: onItemClick,
94
+ options: options,
95
+ shouldShowAllOptions: shouldShowAllOptions
96
+ })
97
+ });
98
+ };
99
+ StatusDropdown.Menu = Menu$1;
100
+
101
+ export { StatusDropdown as default };
102
+ //# sourceMappingURL=StatusDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../src/components/StatusDropdown/Menu.jsx","../src/components/StatusDropdown/constants.js","../src/components/StatusDropdown/Target.jsx","../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div className={targetClassName} data-testid=\"status-dropdown\">\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n customTarget={() => <Target label={selectedValue} {...selectedOption} />}\n strategy=\"fixed\"\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","onClick","label","memo","ICON_SIZE","Target","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","selectedOption","_findBy","customTarget","_objectSpread","strategy","Spinner"],"mappings":"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"}
@@ -103,13 +103,13 @@ var DropZone = function DropZone(_ref) {
103
103
  }));
104
104
  };
105
105
 
106
- var css = ".neeto-molecules-file-upload__dropzone{background-color:rgba(var(--neeto-ui-primary-800),.1);border:2px dashed rgba(var(--neeto-ui-primary-800),.5);border-radius:var(--neeto-ui-rounded-md);color:rgba(var(--neeto-ui-gray-700),1);padding:1.5em;transition:var(--neeto-ui-transition)}.neeto-molecules-file-upload__dropzone:hover{background-color:rgba(var(--neeto-ui-primary-800),.2)}.neeto-molecules-file-upload__dropzone-inner{text-align:center}.neeto-molecules-file-upload__upload-icon{color:rgba(var(--neeto-ui-primary-800),1);display:block;margin-bottom:1.25em;margin-left:auto;margin-right:auto}.neeto-molecules-file-upload__upload-label{display:flex;font-size:1rem;gap:.3125em;justify-content:center}.neeto-molecules-file-upload__choose-file{font-weight:500}.neeto-molecules-file-upload__dropzone-helper-block{margin-top:.5em}.neeto-molecules-file-upload__dropzone-helper-text{color:rgba(var(--neeto-ui-gray-700),.65);display:block;font-size:.75rem;line-height:1.2;margin-bottom:.5rem}.neeto-molecules-file-upload__uploaded-list{list-style:none;margin:1.25em 0;padding:0}.neeto-molecules-file-upload__uploaded-list-item{align-items:center;background-color:rgba(var(--neeto-ui-primary-800),.1);border:1px solid rgba(var(--neeto-ui-primary-800),.5);display:flex;gap:.75em;list-style:none;margin-bottom:-1px;padding:.5em .75em}.neeto-molecules-file-upload__uploaded-list-item:first-of-type{border-top-left-radius:var(--neeto-ui-gray-700);border-top-right-radius:var(--neeto-ui-gray-700)}.neeto-molecules-file-upload__uploaded-list-item:last-of-type{border-bottom-left-radius:var(--neeto-ui-gray-700);border-bottom-right-radius:var(--neeto-ui-gray-700)}.neeto-molecules-file-upload__file-preview{color:#4b2876;position:relative}.neeto-molecules-file-upload__file-preview .neeto-molecules-ring{height:100%;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress__circle-wrapper{position:relative}.neeto-molecules-file-upload__file-info{word-wrap:break-word;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-wrap:break-word}.neeto-molecules-file-upload__file-info-name{font-size:.875em;margin-bottom:.3125em}.neeto-molecules-file-upload__file-info-size{color:rgba(var(--neeto-ui-gray-700),.65);font-size:.75em}.neeto-molecules-file-upload__actions{flex-shrink:0;margin-left:auto;position:relative}.neeto-molecules-file-upload__success-indicator{align-items:center;border-radius:100%;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__success-indicator.neeto-molecules-file-upload__success-indicator--active{background-color:rgb(var(--neeto-ui-primary-800));color:rgb(var(--neeto-ui-white))}.neeto-molecules-file-upload__button--red{align-items:center;background-color:rgb(var(--neeto-ui-error-500));border-radius:100%;color:#fff;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__remove-button{left:0;opacity:0;position:absolute;top:0;transition:var(--neeto-ui-transition);visibility:hidden}.neeto-molecules-file-upload__actions:hover .neeto-molecules-file-upload__remove-button{opacity:1;visibility:visible}.neeto-molecules-ring{align-items:center;display:inline-flex;height:3.125em;justify-content:center;position:relative;width:3.125em}.neeto-molecules-ring div{animation:neeto-molecules-ring 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid rgb(var(--neeto-ui-primary-800));border-color:rgb(var(--neeto-ui-primary-800)) transparent transparent transparent;border-radius:50%;box-sizing:border-box;display:block;height:1.75em;position:absolute;width:1.75em}.neeto-molecules-ring div:first-child{animation-delay:-.45s}.neeto-molecules-ring div:nth-child(2){animation-delay:-.3s}.neeto-molecules-ring div:nth-child(3){animation-delay:-.15s}@keyframes neeto-molecules-ring{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.neeto-molecules-invisible{visibility:hidden}.neeto-molecules-input__error-text{font-size:.875rem;line-height:1.2;margin-top:.5em}.neeto-molecules-input__error-text-style-handle{background-color:rgb(var(--neeto-ui-error-100));border-radius:3px;color:rgb(var(--neeto-ui-error-500));display:inline-block;font-size:.875rem;line-height:1.2;padding:3px 6px}";
106
+ var css = ":root{--neeto-molecules-file-upload-dropzone-color:var(--neeto-ui-gray-800),1;--neeto-molecules-file-upload-dropzone-help-text-color:var(--neeto-ui-gray-700),1;--neeto-molecules-file-upload-dropzone-icon-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-dropzone-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-dropzone-hover-background-color:var(--neeto-ui-gray-100,1);--neeto-molecules-file-upload-dropzone-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-border-radius:var(--neeto-ui-rounded-md);--neeto-molecules-file-upload-transition:var(--neeto-ui-transition);--neeto-molecules-file-upload-list-item-border-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-list-item-background-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-preview-icon-color:var(--neeto-ui-gray-400),1;--neeto-molecules-file-upload-progress-ring-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-background-color:var(--neeto-ui-primary-500),1;--neeto-molecules-file-upload-success-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-cancel-background-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-cancel-color:var(--neeto-ui-white),1;--neeto-molecules-file-upload-error-color:var(--neeto-ui-error-500),1;--neeto-molecules-file-upload-error-background-color:var(--neeto-ui-white),1}.neeto-molecules-file-upload__dropzone{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-background-color));border:2px dashed rgba(var(--neeto-molecules-file-upload-dropzone-border-color));border-radius:var(--neeto-ui-rounded-md);border-radius:var(--neeto-molecules-file-upload-border-radius);color:rgba(var(--neeto-ui-gray-800),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-color));padding:1.5em;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition)}.neeto-molecules-file-upload__dropzone:hover{background-color:rgba(1);background-color:rgba(var(--neeto-molecules-file-upload-dropzone-hover-background-color))}.neeto-molecules-file-upload__dropzone-inner{text-align:center}.neeto-molecules-file-upload__upload-icon{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-icon-color));display:block;margin-bottom:1.25em;margin-left:auto;margin-right:auto}.neeto-molecules-file-upload__upload-label{display:flex;font-size:1rem;gap:.3125em;justify-content:center}.neeto-molecules-file-upload__choose-file{font-weight:500}.neeto-molecules-file-upload__dropzone-helper-block{margin-top:.5em}.neeto-molecules-file-upload__dropzone-helper-text{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));display:block;font-size:.75rem;line-height:1.2;margin-bottom:.5rem}.neeto-molecules-file-upload__uploaded-list{list-style:none;margin:1.25em 0;padding:0}.neeto-molecules-file-upload__uploaded-list-item{align-items:center;background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-list-item-background-color));border:1px solid rgba(var(--neeto-molecules-file-upload-list-item-border-color));display:flex;gap:.75em;list-style:none;margin-bottom:-1px;padding:.5em .75em}.neeto-molecules-file-upload__uploaded-list-item:first-of-type{border-top-left-radius:var(--neeto-ui-rounded-md);border-top-left-radius:var(--neeto-molecules-file-upload-border-radius);border-top-right-radius:var(--neeto-ui-rounded-md);border-top-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__uploaded-list-item:last-of-type{border-bottom-left-radius:var(--neeto-ui-rounded-md);border-bottom-left-radius:var(--neeto-molecules-file-upload-border-radius);border-bottom-right-radius:var(--neeto-ui-rounded-md);border-bottom-right-radius:var(--neeto-molecules-file-upload-border-radius)}.neeto-molecules-file-upload__file-preview{color:rgba(var(--neeto-ui-gray-400),1);color:rgba(var(--neeto-molecules-file-upload-preview-icon-color));position:relative}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.neeto-molecules-file-upload__file-preview .neeto-molecules-progress__circle-wrapper{color:rgba(var(--neeto-ui-primary-500),1);color:rgba(var(--neeto-molecules-file-upload-progress-ring-background-color));position:relative}.neeto-molecules-file-upload__file-info{word-wrap:break-word;display:flex;flex-direction:column;flex-grow:1;min-width:0;overflow-wrap:break-word}.neeto-molecules-file-upload__file-info-name{font-size:.875em;margin-bottom:.3125em}.neeto-molecules-file-upload__file-info-size{color:rgba(var(--neeto-ui-gray-700),1);color:rgba(var(--neeto-molecules-file-upload-dropzone-help-text-color));font-size:.75em}.neeto-molecules-file-upload__actions{flex-shrink:0;margin-left:auto;position:relative}.neeto-molecules-file-upload__success-indicator{align-items:center;border-radius:100%;display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__success-indicator.neeto-molecules-file-upload__success-indicator--active{background-color:rgba(var(--neeto-ui-primary-500),1);background-color:rgba(var(--neeto-molecules-file-upload-success-background-color));color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-success-color))}.neeto-molecules-file-upload__button--red{align-items:center;background-color:rgba(var(--neeto-ui-error-500),1);background-color:rgba(var(--neeto-molecules-file-upload-cancel-background-color));border-radius:100%;color:rgba(var(--neeto-ui-white),1);color:rgba(var(--neeto-molecules-file-upload-cancel-color));display:inline-flex;height:1.75em;justify-content:center;width:1.75em}.neeto-molecules-file-upload__remove-button{left:0;opacity:0;position:absolute;top:0;transition:var(--neeto-ui-transition);transition:var(--neeto-molecules-file-upload-transition);visibility:hidden}.neeto-molecules-file-upload__actions:hover .neeto-molecules-file-upload__remove-button{opacity:1;visibility:visible}.neeto-molecules-invisible{visibility:hidden}.neeto-molecules-input__error-text{font-size:.875rem;line-height:1.2;margin-top:.5em}.neeto-molecules-input__error-text-style-handle{background-color:rgba(var(--neeto-ui-white),1);background-color:rgba(var(--neeto-molecules-file-upload-error-background-color));border-radius:3px;color:rgba(var(--neeto-ui-error-500),1);color:rgba(var(--neeto-molecules-file-upload-error-color));display:inline-block;font-size:.875rem;line-height:1.2;padding:3px 6px}";
107
107
  injectCss.n(css,{});
108
108
 
109
109
  var Progress = function Progress(_ref) {
110
110
  var percents = _ref.percents,
111
111
  _ref$stroke = _ref.stroke,
112
- stroke = _ref$stroke === void 0 ? "blue" : _ref$stroke,
112
+ stroke = _ref$stroke === void 0 ? "currentColor" : _ref$stroke,
113
113
  _ref$emptyStroke = _ref.emptyStroke,
114
114
  emptyStroke = _ref$emptyStroke === void 0 ? stroke : _ref$emptyStroke,
115
115
  _ref$emptyStrokeOpaci = _ref.emptyStrokeOpacity,
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sources":["../../src/components/FileUpload/DropZone.jsx","../../src/components/FileUpload/Progress.jsx","../../src/components/FileUpload/constants.js","../../src/components/FileUpload/utils.js","../../src/components/FileUpload/FilePreview.jsx","../../src/components/FileUpload/hooks/useFileUpload.js","../../src/components/FileUpload/FileUpload.jsx","../../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"blue\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes, renderErrorMessage } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) &&\n fileRejections.map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","Math","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","index","assoc","newFiles","filter","_","idx","useEffect","onDropAccepted","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","map","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","maxFileSizeInBytes","isUploadingFile","isNotNil","shouldShowError","isEmpty","_Fragment","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.js","sources":["../../src/components/FileUpload/DropZone.jsx","../../src/components/FileUpload/Progress.jsx","../../src/components/FileUpload/constants.js","../../src/components/FileUpload/utils.js","../../src/components/FileUpload/FilePreview.jsx","../../src/components/FileUpload/hooks/useFileUpload.js","../../src/components/FileUpload/FileUpload.jsx","../../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { FileUpload } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = maxFileSize;\n\n return (\n <div\n {...getRootProps({\n className: classnames([\"neeto-molecules-file-upload__dropzone\"], {\n \"neeto-molecules-file-upload__dropzone--drag-active\": isDragActive,\n }),\n })}\n >\n <div\n className=\"neeto-molecules-file-upload__dropzone-inner\"\n data-cy=\"file-upload-body\"\n data-testid=\"file-upload-body\"\n >\n <FileUpload\n className=\"neeto-molecules-file-upload__upload-icon\"\n size=\"36\"\n />\n <div className=\"neeto-molecules-file-upload__dropzone-content\">\n <label\n className=\"neeto-molecules-file-upload__upload-label\"\n htmlFor=\"file-upload\"\n >\n <span className=\"neeto-molecules-file-upload__choose-file\">\n {t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n )}\n </span>\n <input {...getInputProps()} data-cy=\"image-browse-button\" />\n </label>\n <div className=\"neeto-molecules-file-upload__dropzone-helper-block\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"neeto-molecules-file-upload__dropzone-helper-text\"\n data-cy=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import { motion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = { duration, delay };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"neeto-molecules-progress__circle\">\n <div\n className=\"neeto-molecules-progress__circle-wrapper\"\n style={{ height: size }}\n >\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","export const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1028 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1028 * 1024 + 10;\n","import classnames from \"classnames\";\nimport { FileGeneric, Check, Close } from \"neetoicons\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = ({ file, isUploading, cancel, progress }) => (\n <li\n className=\"neeto-molecules-file-upload__uploaded-list-item\"\n key={file.url}\n >\n <div className=\"neeto-molecules-file-upload__file-preview\">\n <a\n className={classnames({ \"neeto-molecules-invisible\": isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileGeneric />\n </a>\n {isUploading && (\n <div className=\"neeto-molecules-progress\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"neeto-molecules-file-upload__file-info\">\n <span\n className=\"neeto-molecules-file-upload__file-info-name\"\n data-cy=\"file-name\"\n >\n {file.name}\n </span>\n <span className=\"neeto-molecules-file-upload__file-info-size\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"neeto-molecules-file-upload__actions\">\n <span\n className={classnames(\n \"neeto-molecules-file-upload__success-indicator\",\n { \"neeto-molecules-file-upload__success-indicator--active\": file.url }\n )}\n >\n {file.url && <Check data-cy=\"file-upload-success\" />}\n </span>\n <button\n className=\"neeto-molecules-file-upload__button--red neeto-molecules-file-upload__remove-button\"\n type=\"button\"\n onClick={cancel}\n >\n <Close />\n </button>\n </div>\n </li>\n);\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { findBy } from \"neetocist\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = async acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const updatedFiles = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n onChange(updatedFiles);\n const newFiles = await new Promise(resolve => {\n const files = [];\n\n acceptedFiles.forEach(file => {\n setUploadProgress(assoc(file.name, 0));\n\n const upload = new DirectUpload(file, DIRECT_UPLOAD_URL, {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(assoc(file.name, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(file.name, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n return setUploadError(error);\n }\n\n files.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === files.length\n : files.length === 1;\n\n if (isUploadCompleted) {\n return resolve(files);\n }\n\n return \"\";\n });\n });\n\n return files;\n });\n\n if (multiple) {\n const updatedFiles = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(updatedFiles);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n if (fileObject.errors[0].code === \"too-many-files\") {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n } else {\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n }\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport DropZone from \"./DropZone\";\nimport \"./file-upload.scss\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes, renderErrorMessage } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = 1,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1000000;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"neeto-molecules-file-upload__uploaded-list\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) &&\n fileRejections.map((file, index) => (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n key={index}\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {renderErrorMessage(file, maxFileSizeInBytes, false)}\n </span>\n </p>\n ))}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-cy=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\n {error}\n </span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n /**\n * Allowed file types for the file upload component.\n */\n allowedFileTypes: PropTypes.string,\n /**\n * Boolean to allow multiple files to be uploaded.\n */\n multipleFilesAllowed: PropTypes.bool,\n /**\n * Maximum file size allowed for the file upload component(MB).\n */\n maxFileSize: PropTypes.number,\n /**\n * Boolean to use component as a preview component.\n */\n isPreview: PropTypes.bool,\n /**\n * Minimum file size allowed for the file upload component(MB).\n */\n minFileSize: PropTypes.number,\n /**\n * Uploaded files.\n */\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n /**\n * Function to be called on file upload, with the updated files array.\n */\n onChange: PropTypes.func,\n /**\n * Error message to be displayed.\n */\n error: PropTypes.string,\n /**\n * Function to set error message.\n */\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","_useTranslation","useTranslation","t","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","unit","types","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","radius","circumference","Math","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","FilePreview","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","index","assoc","newFiles","filter","_","idx","useEffect","onDropAccepted","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","acceptedFiles","initialFiles","updatedFiles","_updatedFiles","wrap","_callee$","_context","prev","next","map","_toConsumableArray","Promise","resolve","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","length","sent","uploadedFile","findBy","stop","_x","apply","arguments","onDropRejected","fileRejections","fileObject","_useDropzone","useDropzone","minSize","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","maxFileSizeInBytes","isUploadingFile","isNotNil","shouldShowError","isEmpty","_Fragment","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var neetoCist = require('@bigbinary/neeto-cist');
5
+ var Dropdown = require('@bigbinary/neetoui/Dropdown');
6
+ var Spinner = require('@bigbinary/neetoui/Spinner');
7
+ var React = require('react');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+ var injectCss = require('./inject-css-80a5faa3.js');
10
+ var Down = require('@bigbinary/neeto-icons/Down');
11
+ var Typography = require('@bigbinary/neetoui/Typography');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
+ var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
17
+ var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
18
+ var Down__default = /*#__PURE__*/_interopDefaultLegacy(Down);
19
+ var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
20
+
21
+ var NeetoUIMenu = Dropdown__default["default"].Menu,
22
+ MenuItem = Dropdown__default["default"].MenuItem;
23
+ var Menu = function Menu(_ref) {
24
+ var onItemClick = _ref.onItemClick,
25
+ options = _ref.options,
26
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
27
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt,
28
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
29
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses;
30
+ var allowedOptions = shouldShowAllOptions ? options : options.filter(function (status) {
31
+ return !hiddenStatuses.includes(status.value);
32
+ });
33
+ return /*#__PURE__*/jsxRuntime.jsx(NeetoUIMenu, {
34
+ "data-testid": "status-dropdown-menu",
35
+ children: allowedOptions === null || allowedOptions === void 0 ? void 0 : allowedOptions.map(function (option) {
36
+ return /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
37
+ className: "status-dropdown-item--".concat(option.color),
38
+ "data-testid": "status-dropdown-item-".concat(option.value),
39
+ onClick: function onClick() {
40
+ return onItemClick(option);
41
+ },
42
+ children: option.label
43
+ }, option.value);
44
+ })
45
+ });
46
+ };
47
+ var Menu$1 = /*#__PURE__*/React.memo(Menu);
48
+
49
+ var css = ":root{--neeto-molecules-status-color-open:9,90,186;--neeto-molecules-status-color-done:189,100,13;--neeto-molecules-status-color-waiting:47,57,65;--neeto-molecules-status-color-red:187,18,26;--neeto-molecules-status-color-yellow:255,204,112;--neeto-molecules-status-color-violet:157,98,162;--neeto-molecules-status-color-pink:225,62,230;--neeto-molecules-status-color-teal:38,87,124;--neeto-molecules-status-color-cyan:66,160,157;--neeto-molecules-status-color-green:16,113,84;--neeto-molecules-status-bg-open:226,241,255;--neeto-molecules-status-bg-done:250,241,225;--neeto-molecules-status-bg-waiting:233,235,237;--neeto-molecules-status-bg-red:254,236,240;--neeto-molecules-status-bg-yellow:255,247,233;--neeto-molecules-status-bg-violet:235,222,255;--neeto-molecules-status-bg-pink:254,233,255;--neeto-molecules-status-bg-teal:228,244,255;--neeto-molecules-status-bg-cyan:224,255,254;--neeto-molecules-status-bg-green:224,244,238}.status-dropdown-target--open{background-color:#e2f1ff;background-color:rgb(var(--neeto-molecules-status-bg-open));color:#095aba;color:rgb(var(--neeto-molecules-status-color-open))}.status-dropdown-target--done{background-color:#faf1e1;background-color:rgb(var(--neeto-molecules-status-bg-done));color:#bd640d;color:rgb(var(--neeto-molecules-status-color-done))}.status-dropdown-target--waiting{background-color:#e9ebed;background-color:rgb(var(--neeto-molecules-status-bg-waiting));color:#2f3941;color:rgb(var(--neeto-molecules-status-color-waiting))}.status-dropdown-target--red{background-color:#feecf0;background-color:rgb(var(--neeto-molecules-status-bg-red));color:#bb121a;color:rgb(var(--neeto-molecules-status-color-red))}.status-dropdown-target--yellow{background-color:#fff7e9;background-color:rgb(var(--neeto-molecules-status-bg-yellow));color:#ffcc70;color:rgb(var(--neeto-molecules-status-color-yellow))}.status-dropdown-target--violet{background-color:#ebdeff;background-color:rgb(var(--neeto-molecules-status-bg-violet));color:#9d62a2;color:rgb(var(--neeto-molecules-status-color-violet))}.status-dropdown-target--pink{background-color:#fee9ff;background-color:rgb(var(--neeto-molecules-status-bg-pink));color:#e13ee6;color:rgb(var(--neeto-molecules-status-color-pink))}.status-dropdown-target--teal{background-color:#e4f4ff;background-color:rgb(var(--neeto-molecules-status-bg-teal));color:#26577c;color:rgb(var(--neeto-molecules-status-color-teal))}.status-dropdown-target--cyan{background-color:#e0fffe;background-color:rgb(var(--neeto-molecules-status-bg-cyan));color:#42a09d;color:rgb(var(--neeto-molecules-status-color-cyan))}.status-dropdown-target--green{background-color:#e0f4ee;background-color:rgb(var(--neeto-molecules-status-bg-green));color:#107154;color:rgb(var(--neeto-molecules-status-color-green))}.status-dropdown-item--open{color:#095aba!important;color:rgb(var(--neeto-molecules-status-color-open))!important}.status-dropdown-item--done{color:#bd640d!important;color:rgb(var(--neeto-molecules-status-color-done))!important}.status-dropdown-item--waiting{color:#2f3941!important;color:rgb(var(--neeto-molecules-status-color-waiting))!important}.status-dropdown-item--red{color:#bb121a!important;color:rgb(var(--neeto-molecules-status-color-red))!important}.status-dropdown-item--yellow{color:#ffcc70!important;color:rgb(var(--neeto-molecules-status-color-yellow))!important}.status-dropdown-item--violet{color:#9d62a2!important;color:rgb(var(--neeto-molecules-status-color-violet))!important}.status-dropdown-item--pink{color:#e13ee6!important;color:rgb(var(--neeto-molecules-status-color-pink))!important}.status-dropdown-item--teal{color:#26577c!important;color:rgb(var(--neeto-molecules-status-color-teal))!important}.status-dropdown-item--cyan{color:#42a09d!important;color:rgb(var(--neeto-molecules-status-color-cyan))!important}.status-dropdown-item--green{color:#107154!important;color:rgb(var(--neeto-molecules-status-color-green))!important}";
50
+ injectCss.n(css,{});
51
+
52
+ var ICON_SIZE = 16;
53
+
54
+ var Target = function Target(_ref) {
55
+ var color = _ref.color,
56
+ label = _ref.label;
57
+ var targetClassName = "neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--".concat(color);
58
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
59
+ className: targetClassName,
60
+ "data-testid": "status-dropdown",
61
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
62
+ className: "inline",
63
+ style: "body2",
64
+ children: label
65
+ }), /*#__PURE__*/jsxRuntime.jsx(Down__default["default"], {
66
+ className: "ml-2 inline",
67
+ size: ICON_SIZE
68
+ })]
69
+ });
70
+ };
71
+ var Target$1 = /*#__PURE__*/React.memo(Target);
72
+
73
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
74
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
75
+ var StatusDropdown = function StatusDropdown(_ref) {
76
+ var _ref$disabled = _ref.disabled,
77
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
78
+ _ref$hiddenStatuses = _ref.hiddenStatuses,
79
+ hiddenStatuses = _ref$hiddenStatuses === void 0 ? [] : _ref$hiddenStatuses,
80
+ _ref$isLoading = _ref.isLoading,
81
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
82
+ onItemClick = _ref.onItemClick,
83
+ options = _ref.options,
84
+ selectedValue = _ref.selectedValue,
85
+ _ref$shouldShowAllOpt = _ref.shouldShowAllOptions,
86
+ shouldShowAllOptions = _ref$shouldShowAllOpt === void 0 ? false : _ref$shouldShowAllOpt;
87
+ var selectedOption = neetoCist._findBy({
88
+ value: selectedValue
89
+ }, options);
90
+ return /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
91
+ disabled: disabled,
92
+ customTarget: function customTarget() {
93
+ return /*#__PURE__*/jsxRuntime.jsx(Target$1, _objectSpread({
94
+ label: selectedValue
95
+ }, selectedOption));
96
+ },
97
+ strategy: "fixed",
98
+ children: isLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
99
+ className: "flex w-full items-center justify-center py-8",
100
+ children: /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {})
101
+ }) : /*#__PURE__*/jsxRuntime.jsx(Menu$1, {
102
+ hiddenStatuses: hiddenStatuses,
103
+ onItemClick: onItemClick,
104
+ options: options,
105
+ shouldShowAllOptions: shouldShowAllOptions
106
+ })
107
+ });
108
+ };
109
+ StatusDropdown.Menu = Menu$1;
110
+
111
+ module.exports = StatusDropdown;
112
+ //# sourceMappingURL=StatusDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusDropdown.js","sources":["../../src/components/StatusDropdown/Menu.jsx","../../src/components/StatusDropdown/constants.js","../../src/components/StatusDropdown/Target.jsx","../../src/components/StatusDropdown/index.jsx"],"sourcesContent":["import { memo } from \"react\";\n\nimport { Dropdown } from \"neetoui\";\n\nconst { Menu: NeetoUIMenu, MenuItem } = Dropdown;\n\nconst Menu = ({\n onItemClick,\n options,\n shouldShowAllOptions = false,\n hiddenStatuses = [],\n}) => {\n const allowedOptions = shouldShowAllOptions\n ? options\n : options.filter(status => !hiddenStatuses.includes(status.value));\n\n return (\n <NeetoUIMenu data-testid=\"status-dropdown-menu\">\n {allowedOptions?.map(option => (\n <MenuItem.Button\n className={`status-dropdown-item--${option.color}`}\n data-testid={`status-dropdown-item-${option.value}`}\n key={option.value}\n onClick={() => onItemClick(option)}\n >\n {option.label}\n </MenuItem.Button>\n ))}\n </NeetoUIMenu>\n );\n};\n\nexport default memo(Menu);\n","export const ICON_SIZE = 16;\n","import { memo } from \"react\";\n\nimport { Down } from \"neetoicons\";\nimport { Typography } from \"neetoui\";\n\nimport { ICON_SIZE } from \"./constants\";\n\nconst Target = ({ color, label }) => {\n const targetClassName = `neeto-ui-rounded-sm inline-block cursor-pointer py-0.5 px-2 status-dropdown-target--${color}`;\n\n return (\n <div className={targetClassName} data-testid=\"status-dropdown\">\n <Typography className=\"inline\" style=\"body2\">\n {label}\n </Typography>\n <Down className=\"ml-2 inline\" size={ICON_SIZE} />\n </div>\n );\n};\n\nexport default memo(Target);\n","import { _findBy } from \"neetocist\";\nimport { Dropdown, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\n\nimport Menu from \"./Menu\";\nimport \"./status-dropdown.scss\";\nimport Target from \"./Target\";\n\nconst StatusDropdown = ({\n disabled = false,\n hiddenStatuses = [],\n isLoading = false,\n onItemClick,\n options,\n selectedValue,\n shouldShowAllOptions = false,\n}) => {\n const selectedOption = _findBy({ value: selectedValue }, options);\n\n return (\n <Dropdown\n {...{ disabled }}\n customTarget={() => <Target label={selectedValue} {...selectedOption} />}\n strategy=\"fixed\"\n >\n {isLoading ? (\n <div className=\"flex w-full items-center justify-center py-8\">\n <Spinner />\n </div>\n ) : (\n <Menu\n {...{ hiddenStatuses, onItemClick, options, shouldShowAllOptions }}\n />\n )}\n </Dropdown>\n );\n};\n\nStatusDropdown.Menu = Menu;\n\nStatusDropdown.propTypes = {\n /**\n * This prop will decide whether the dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * Statuses to be hidden when shouldShowAllOptions is false.\n */\n hiddenStatuses: PropTypes.array,\n /**\n * This prop will decide whether the dropdown is in loading state or not.\n */\n isLoading: PropTypes.bool,\n /**\n * Function to be called when a menu item is clicked.\n */\n onItemClick: PropTypes.func,\n /**\n * The items that should be shown in the dropdown.\n */\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n color: PropTypes.string,\n })\n ),\n /**\n * The selected value.\n */\n selectedValue: PropTypes.string,\n /**\n * This prop will decide whether all options should be shown or not. If set to false, the items in hiddenStatuses will not be shown.\n */\n shouldShowAllOptions: PropTypes.bool,\n};\n\nexport default StatusDropdown;\n"],"names":["NeetoUIMenu","Dropdown","Menu","MenuItem","_ref","onItemClick","options","_ref$shouldShowAllOpt","shouldShowAllOptions","_ref$hiddenStatuses","hiddenStatuses","allowedOptions","filter","status","includes","value","_jsx","children","map","option","Button","className","concat","color","onClick","label","memo","ICON_SIZE","Target","targetClassName","_jsxs","Typography","style","Down","size","StatusDropdown","_ref$disabled","disabled","_ref$isLoading","isLoading","selectedValue","selectedOption","_findBy","customTarget","_objectSpread","strategy","Spinner"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-molecules",
3
- "version": "3.3.19",
3
+ "version": "3.3.21",
4
4
  "description": "A package of reusable molecular components for neeto products.",
5
5
  "repository": "git@github.com:bigbinary/neeto-molecules.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",
@@ -0,0 +1,72 @@
1
+ import React from "react";
2
+ /**
3
+ *
4
+ * The StatusDropdown component is used in neeto products for showing a dropdown
5
+ *
6
+ * to select the status of an item.
7
+ *
8
+ * ![Screenshot](https://github.com/user-attachments/assets/aed45df0-e216-4886-9013-7f4d4aa940bf|height=200|width=300)
9
+ *
10
+ * @example
11
+ *
12
+ * import StatusDropdown from "@bigbinary/neeto-molecules/Sidebar";
13
+ *
14
+ * const App = () => {
15
+ * const [selectedStatus, setSelectedStatus] = React.useState("All");
16
+ *
17
+ * const options = [
18
+ * { label: "All", value: "All", color: "red" },
19
+ * { label: "Open", value: "Open", color: "green" },
20
+ * { label: "In Progress", value: "In Progress", color: "yellow" },
21
+ * ];
22
+ *
23
+ * return (
24
+ * <div>
25
+ * <StatusDropdown
26
+ * shouldShowAllOptions
27
+ * options={options}
28
+ * selectedValue={selectedValue}
29
+ * onItemClick={({ value }) => setSelectedStatus(value)}
30
+ * />
31
+ * </div>
32
+ * );
33
+ * };
34
+ * @endexample
35
+ * @example
36
+ *
37
+ * import StatusDropdown from "@bigbinary/neeto-molecules/Sidebar";
38
+ *
39
+ * const App = () => {
40
+ * const [selectedStatus, setSelectedStatus] = React.useState("All");
41
+ *
42
+ * const options = [
43
+ * { label: "All", value: "All", color: "red" },
44
+ * { label: "Open", value: "Open", color: "green" },
45
+ * { label: "In Progress", value: "In Progress", color: "yellow" },
46
+ * ];
47
+ *
48
+ * const hiddenStatuses = ["Open"];
49
+ *
50
+ * return (
51
+ * <div>
52
+ * <StatusDropdown
53
+ * hiddenStatuses={hiddenStatuses}
54
+ * options={options}
55
+ * selectedValue={selectedValue}
56
+ * onItemClick={({ value }) => setSelectedStatus(value)}
57
+ * />
58
+ * </div>
59
+ * );
60
+ * };
61
+ * @endexample
62
+ */
63
+ const StatusDropdown: React.FC<{
64
+ disabled?: boolean;
65
+ hiddenStatuses?: Array<string>;
66
+ isLoading?: boolean;
67
+ onItemClick: (status: object) => void;
68
+ options: Array<object>;
69
+ selectedValue: string;
70
+ shouldShowAllOptions?: boolean;
71
+ }>;
72
+ export default StatusDropdown;