@bigbinary/neeto-molecules 5.1.35 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserSupport.js +1 -1
- package/dist/DownloadMobileAppCallout.js +1 -1
- package/dist/FileUpload.js +3 -3
- package/dist/FileUpload.js.map +1 -1
- package/dist/FloatingActionMenu.js +1 -1
- package/dist/KeyboardShortcuts.js +1 -1
- package/dist/cjs/BrowserSupport.js +1 -1
- package/dist/cjs/DownloadMobileAppCallout.js +1 -1
- package/dist/cjs/FileUpload.js +3 -3
- package/dist/cjs/FileUpload.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +1 -1
- package/dist/cjs/KeyboardShortcuts.js +1 -1
- package/dist/cjs/{ua-parser-DgQ3nYoO.js → ua-parser-DN07nD-R.js} +54 -30
- package/dist/cjs/ua-parser-DN07nD-R.js.map +1 -0
- package/dist/cjs/v2/BrowserSupport.js +1 -1
- package/dist/cjs/v2/DownloadMobileAppCallout.js +1 -1
- package/dist/cjs/v2/FileUpload.js +3 -3
- package/dist/cjs/v2/FileUpload.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +1 -1
- package/dist/cjs/v2/KeyboardShortcuts.js +1 -1
- package/dist/{ua-parser-OzUiuIwt.js → ua-parser-BLkTkt4a.js} +54 -30
- package/dist/ua-parser-BLkTkt4a.js.map +1 -0
- package/dist/v2/BrowserSupport.js +1 -1
- package/dist/v2/DownloadMobileAppCallout.js +1 -1
- package/dist/v2/FileUpload.js +3 -3
- package/dist/v2/FileUpload.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +1 -1
- package/dist/v2/KeyboardShortcuts.js +1 -1
- package/package.json +7 -7
- package/dist/cjs/ua-parser-DgQ3nYoO.js.map +0 -1
- package/dist/ua-parser-OzUiuIwt.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUpload.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/file-text.js","../../../src/v2/components/FileUpload/constants.js","../../../src/v2/components/FileUpload/DropZone.jsx","../../../src/v2/components/FileUpload/utils.js","../../../src/v2/components/FileUpload/ErrorMessages.jsx","../../../src/v2/components/FileUpload/Progress.jsx","../../../src/v2/components/FileUpload/FilePreview.jsx","../../../src/v2/components/FileUpload/hooks/useFileUpload.js","../../../src/v2/components/FileUpload/FileUpload.jsx","../../../src/v2/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n];\nconst FileText = createLucideIcon(\"file-text\", __iconNode);\n\nexport { __iconNode, FileText as default };\n//# sourceMappingURL=file-text.js.map\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport 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 json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\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\nexport const MAX_FILE_SIZE =\n globalProps?.endUserUploadedFileSizeLimitInMb || 10;\n","import { useId } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Upload } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n const inputId = useId();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;\n const promptText = t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n );\n\n return (\n <div\n {...getRootProps({\n \"aria-label\": promptText,\n className: classnames(\n \"nm-file-upload__dropzone border-border bg-muted/40 hover:border-primary focus-visible:border-primary focus-visible:ring-ring/50 focus-visible:ring-2 cursor-pointer rounded border border-dashed p-6 outline-none transition\",\n { \"border-primary bg-primary/5\": isDragActive }\n ),\n })}\n >\n <div\n className=\"flex flex-col items-center gap-2 text-center\"\n data-testid=\"file-upload-body\"\n >\n <Upload className=\"text-muted-foreground\" size={24} />\n <div className=\"flex flex-col items-center gap-1\">\n <label className=\"cursor-pointer\" htmlFor={inputId}>\n <span className=\"text-sm font-medium\">{promptText}</span>\n <input\n {...getInputProps({ id: inputId })}\n data-testid=\"image-browse-button\"\n />\n </label>\n <div className=\"flex flex-col items-center gap-0.5\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"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=\"text-muted-foreground text-xs\"\n data-testid=\"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 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] || [\"application/octet-stream\"];\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 { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n key={index}\n >\n <span>{renderErrorMessage(file, maxFileSizeInBytes, false)}</span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion, useReducedMotion } 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 shouldReduceMotion = useReducedMotion();\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 = {\n duration: shouldReduceMotion ? 0 : duration,\n delay: shouldReduceMotion ? 0 : delay,\n };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"nm-progress__circle\">\n <div className=\"nm-progress__circle-wrapper\" style={{ height: size }}>\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","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, FileText, X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = withT(({ t, file, isUploading, cancel, progress }) => (\n <li className=\"flex items-center gap-2 px-3 py-2\">\n <div className=\"relative flex h-6 w-6 items-center justify-center\">\n <a\n className={classnames({ invisible: isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileText className=\"text-muted-foreground\" size={20} />\n </a>\n {isUploading && (\n <div className=\"absolute inset-0\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"flex flex-1 flex-col\">\n <span className=\"text-xs font-medium\" data-testid=\"file-name\">\n {file.name}\n </span>\n <span className=\"text-muted-foreground text-[11px]\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <span\n aria-hidden={!file.url}\n className={classnames(\"text-success\", { \"opacity-0\": !file.url })}\n role=\"img\"\n aria-label={t(\"neetoMolecules.fileUpload.fileUploadSuccessful\", {\n defaultValue: \"Upload complete\",\n })}\n >\n {file.url && <Check data-testid=\"file-upload-success\" size={16} />}\n </span>\n <Button\n icon={X}\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.common.actions.remove\", {\n defaultValue: \"Remove\",\n })}\n onClick={cancel}\n />\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 hasFileSizeLimit,\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 if (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 collected = [];\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 collected.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === collected.length\n : collected.length === 1;\n\n if (isUploadCompleted) {\n return resolve(collected);\n }\n\n return \"\";\n });\n });\n\n return collected;\n });\n\n if (multiple) {\n const merged = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(merged);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\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 &&\n hasFileSizeLimit && { 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 { MAX_FILE_SIZE } from \"./constants\";\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = MAX_FILE_SIZE,\n hasFileSizeLimit = true,\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 hasFileSizeLimit,\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 hasFileSizeLimit,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"border-border mt-3 divide-y rounded-md border\">\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 <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>{error}</span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n allowedFileTypes: PropTypes.string,\n multipleFilesAllowed: PropTypes.bool,\n maxFileSize: PropTypes.number,\n hasFileSizeLimit: PropTypes.bool,\n isPreview: PropTypes.bool,\n minFileSize: PropTypes.number,\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n error: PropTypes.string,\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":["createLucideIcon","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","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","MAX_FILE_SIZE","globalProps","endUserUploadedFileSizeLimitInMb","DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","hasFileSizeLimit","_useTranslation","useTranslation","t","inputId","useId","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","promptText","_jsx","_objectSpread","className","classnames","children","_jsxs","Upload","size","htmlFor","id","unit","types","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","shouldReduceMotion","useReducedMotion","radius","circumference","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","FilePreview","withT","isUploading","cancel","progress","invisible","href","url","rel","target","FileText","role","defaultValue","Check","Button","icon","X","variant","onClick","e","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","assoc","newFiles","_","idx","useEffect","onDropAccepted","_asyncToGenerator","_callee","acceptedFiles","initialFiles","updatedFiles","merged","_context","_toConsumableArray","Promise","resolve","collected","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","uploadedFile","findBy","_x","onDropRejected","fileObject","_useDropzone","useDropzone","minSize","FileUpload","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$hasFileSizeLimit","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"FileUpload.js","sources":["../../../node_modules/lucide-react/dist/esm/icons/file-text.js","../../../src/v2/components/FileUpload/constants.js","../../../src/v2/components/FileUpload/DropZone.jsx","../../../src/v2/components/FileUpload/utils.js","../../../src/v2/components/FileUpload/ErrorMessages.jsx","../../../src/v2/components/FileUpload/Progress.jsx","../../../src/v2/components/FileUpload/FilePreview.jsx","../../../src/v2/components/FileUpload/hooks/useFileUpload.js","../../../src/v2/components/FileUpload/FileUpload.jsx","../../../src/v2/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.7.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n];\nconst FileText = createLucideIcon(\"file-text\", __iconNode);\n\nexport { __iconNode, FileText as default };\n//# sourceMappingURL=file-text.js.map\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport 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 json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\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\nexport const MAX_FILE_SIZE =\n globalProps?.endUserUploadedFileSizeLimitInMb || 10;\n","import { useId } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Upload } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n const inputId = useId();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;\n const promptText = t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n );\n\n return (\n <div\n {...getRootProps({\n \"aria-label\": promptText,\n className: classnames(\n \"nm-file-upload__dropzone border-border bg-muted/40 hover:border-primary focus-visible:border-primary focus-visible:ring-ring/50 focus-visible:ring-2 cursor-pointer rounded border border-dashed p-6 outline-none transition\",\n { \"border-primary bg-primary/5\": isDragActive }\n ),\n })}\n >\n <div\n className=\"flex flex-col items-center gap-2 text-center\"\n data-testid=\"file-upload-body\"\n >\n <Upload className=\"text-muted-foreground\" size={24} />\n <div className=\"flex flex-col items-center gap-1\">\n <label className=\"cursor-pointer\" htmlFor={inputId}>\n <span className=\"text-sm font-medium\">{promptText}</span>\n <input\n {...getInputProps({ id: inputId })}\n data-testid=\"image-browse-button\"\n />\n </label>\n <div className=\"flex flex-col items-center gap-0.5\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"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=\"text-muted-foreground text-xs\"\n data-testid=\"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 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] || [\"application/octet-stream\"];\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) / (1024 * 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 * 1024 * 1024 + 10;\n","import { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n key={index}\n >\n <span>{renderErrorMessage(file, maxFileSizeInBytes, false)}</span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion, useReducedMotion } 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 shouldReduceMotion = useReducedMotion();\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 = {\n duration: shouldReduceMotion ? 0 : duration,\n delay: shouldReduceMotion ? 0 : delay,\n };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"nm-progress__circle\">\n <div className=\"nm-progress__circle-wrapper\" style={{ height: size }}>\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","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, FileText, X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = withT(({ t, file, isUploading, cancel, progress }) => (\n <li className=\"flex items-center gap-2 px-3 py-2\">\n <div className=\"relative flex h-6 w-6 items-center justify-center\">\n <a\n className={classnames({ invisible: isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileText className=\"text-muted-foreground\" size={20} />\n </a>\n {isUploading && (\n <div className=\"absolute inset-0\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"flex flex-1 flex-col\">\n <span className=\"text-xs font-medium\" data-testid=\"file-name\">\n {file.name}\n </span>\n <span className=\"text-muted-foreground text-[11px]\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <span\n aria-hidden={!file.url}\n className={classnames(\"text-success\", { \"opacity-0\": !file.url })}\n role=\"img\"\n aria-label={t(\"neetoMolecules.fileUpload.fileUploadSuccessful\", {\n defaultValue: \"Upload complete\",\n })}\n >\n {file.url && <Check data-testid=\"file-upload-success\" size={16} />}\n </span>\n <Button\n icon={X}\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.common.actions.remove\", {\n defaultValue: \"Remove\",\n })}\n onClick={cancel}\n />\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 hasFileSizeLimit,\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 if (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 collected = [];\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 collected.push({\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n });\n\n const isUploadCompleted = multiple\n ? acceptedFiles.length === collected.length\n : collected.length === 1;\n\n if (isUploadCompleted) {\n return resolve(collected);\n }\n\n return \"\";\n });\n });\n\n return collected;\n });\n\n if (multiple) {\n const merged = filesRef.current.map(file => {\n const uploadedFile = findBy({ name: file.name }, newFiles);\n\n return { ...file, ...uploadedFile };\n });\n onChange(merged);\n } else {\n onChange(newFiles);\n }\n };\n\n const onDropRejected = fileRejections => {\n fileRejections.forEach(fileObject => {\n setTouched(true);\n setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\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 &&\n hasFileSizeLimit && { 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 { MAX_FILE_SIZE } from \"./constants\";\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = MAX_FILE_SIZE,\n hasFileSizeLimit = true,\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 hasFileSizeLimit,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1024 * 1024;\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 hasFileSizeLimit,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"border-border mt-3 divide-y rounded-md border\">\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 <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>{error}</span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n allowedFileTypes: PropTypes.string,\n multipleFilesAllowed: PropTypes.bool,\n maxFileSize: PropTypes.number,\n hasFileSizeLimit: PropTypes.bool,\n isPreview: PropTypes.bool,\n minFileSize: PropTypes.number,\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n error: PropTypes.string,\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":["createLucideIcon","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","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","MAX_FILE_SIZE","globalProps","endUserUploadedFileSizeLimitInMb","DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","hasFileSizeLimit","_useTranslation","useTranslation","t","inputId","useId","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","promptText","_jsx","_objectSpread","className","classnames","children","_jsxs","Upload","size","htmlFor","id","unit","types","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","shouldReduceMotion","useReducedMotion","radius","circumference","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","FilePreview","withT","isUploading","cancel","progress","invisible","href","url","rel","target","FileText","role","defaultValue","Check","Button","icon","X","variant","onClick","e","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","assoc","newFiles","_","idx","useEffect","onDropAccepted","_asyncToGenerator","_callee","acceptedFiles","initialFiles","updatedFiles","merged","_context","_toConsumableArray","Promise","resolve","collected","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","blob","blob_url","filename","signedId","signed_id","isUploadCompleted","uploadedFile","findBy","_x","onDropRejected","fileObject","_useDropzone","useDropzone","minSize","FileUpload","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$hasFileSizeLimit","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -38,7 +38,7 @@ require('../useKeyboardShortcutsPaneState-DZUnpw9v.js');
|
|
|
38
38
|
require('zustand/shallow');
|
|
39
39
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions');
|
|
40
40
|
require('zustand');
|
|
41
|
-
require('../ua-parser-
|
|
41
|
+
require('../ua-parser-DN07nD-R.js');
|
|
42
42
|
require('../x-B38UX0_0.js');
|
|
43
43
|
require('../check-VgZf0qTr.js');
|
|
44
44
|
require('../copy-CerjTcLL.js');
|
|
@@ -12,7 +12,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
12
12
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
13
13
|
var i18next = require('i18next');
|
|
14
14
|
var ramda = require('ramda');
|
|
15
|
-
var uaParser = require('../ua-parser-
|
|
15
|
+
var uaParser = require('../ua-parser-DN07nD-R.js');
|
|
16
16
|
var jsxRuntime = require('react/jsx-runtime');
|
|
17
17
|
var x = require('../x-B38UX0_0.js');
|
|
18
18
|
require('zustand/shallow');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Source: /src/main/ua-parser.js
|
|
4
4
|
|
|
5
5
|
/////////////////////////////////////////////////////////////////////////////////
|
|
6
|
-
/* UAParser.js v2.0.
|
|
6
|
+
/* UAParser.js v2.0.10
|
|
7
7
|
Copyright © 2012-2026 Faisal Salman <f@faisalman.com>
|
|
8
8
|
AGPLv3 License *//*
|
|
9
9
|
Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
// Constants
|
|
22
22
|
/////////////
|
|
23
23
|
|
|
24
|
-
var LIBVERSION = '2.0.
|
|
24
|
+
var LIBVERSION = '2.0.10',
|
|
25
25
|
UA_MAX_LENGTH = 500,
|
|
26
26
|
USER_AGENT = 'user-agent',
|
|
27
27
|
EMPTY = '',
|
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
itemListToArray = function (header) {
|
|
173
173
|
if (!header) return undefined;
|
|
174
174
|
var arr = [];
|
|
175
|
-
var tokens =
|
|
175
|
+
var tokens = normalizeHeaderValue(header).split(',');
|
|
176
176
|
for (var i = 0; i < tokens.length; i++) {
|
|
177
177
|
if (tokens[i].indexOf(';') > -1) {
|
|
178
178
|
var token = trim(tokens[i]).split(';v=');
|
|
@@ -189,6 +189,9 @@
|
|
|
189
189
|
majorize = function (version) {
|
|
190
190
|
return isString(version) ? strip(/[^\d\.]/g, version).split('.')[0] : undefined;
|
|
191
191
|
},
|
|
192
|
+
normalizeHeaderValue = function (str) {
|
|
193
|
+
return isString(str) ? trim(strip(/\\?\"/g, str), UA_MAX_LENGTH) : undefined;
|
|
194
|
+
},
|
|
192
195
|
setProps = function (arr) {
|
|
193
196
|
for (var i in arr) {
|
|
194
197
|
if (!arr.hasOwnProperty(i)) continue;
|
|
@@ -205,9 +208,6 @@
|
|
|
205
208
|
strip = function (pattern, str) {
|
|
206
209
|
return isString(str) ? str.replace(pattern, EMPTY) : str;
|
|
207
210
|
},
|
|
208
|
-
stripQuotes = function (str) {
|
|
209
|
-
return strip(/\\?\"/g, str);
|
|
210
|
-
},
|
|
211
211
|
trim = function (str, len) {
|
|
212
212
|
str = strip(/^\s\s*/, String(str));
|
|
213
213
|
return typeof len === TYPEOF.UNDEFINED ? str : str.substring(0, len);
|
|
@@ -280,6 +280,10 @@
|
|
|
280
280
|
}
|
|
281
281
|
},
|
|
282
282
|
|
|
283
|
+
strTest = function (str, map) {
|
|
284
|
+
return map.test.test(str) ? map.ifTrue : map.ifFalse;
|
|
285
|
+
},
|
|
286
|
+
|
|
283
287
|
strMapper = function (str, map) {
|
|
284
288
|
|
|
285
289
|
for (var i in map) {
|
|
@@ -350,7 +354,7 @@
|
|
|
350
354
|
/\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
|
|
351
355
|
], [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']], [
|
|
352
356
|
/webview.+edge\/([\w\.]+)/i // Microsoft Edge
|
|
353
|
-
], [VERSION, [NAME, EDGE+' WebView']], [
|
|
357
|
+
], [VERSION, [NAME, EDGE+' WebView'], [TYPE, INAPP]], [
|
|
354
358
|
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
355
359
|
], [VERSION, [NAME, 'Edge']], [
|
|
356
360
|
|
|
@@ -390,7 +394,7 @@
|
|
|
390
394
|
], [VERSION, [NAME, 'Quark']], [
|
|
391
395
|
/\bddg\/([\w\.]+)/i // DuckDuckGo
|
|
392
396
|
], [VERSION, [NAME, 'DuckDuckGo']], [
|
|
393
|
-
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
397
|
+
/(?:\buc? ?browser|(?:juc.+)ucweb| ucpc)[\/ ]?([\w\.]+)/i // UCBrowser
|
|
394
398
|
], [VERSION, [NAME, 'UCBrowser']], [
|
|
395
399
|
/microm.+\bqbcore\/([\w\.]+)/i, // WeChat Desktop for Windows Built-in Browser
|
|
396
400
|
/\bqbcore\/([\w\.]+).+microm/i,
|
|
@@ -429,7 +433,9 @@
|
|
|
429
433
|
/\b(qq)\/([\w\.]+)/i // QQ
|
|
430
434
|
], [[NAME, /(.+)/, '$1Browser'], VERSION], [
|
|
431
435
|
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
432
|
-
], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/
|
|
436
|
+
], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/VivoBrowser/PicoBrowser
|
|
437
|
+
/ HBPC\/([\w\.]+)/ // Huawei Browser
|
|
438
|
+
], [VERSION, [NAME, HUAWEI + SUFFIX_BROWSER]], [
|
|
433
439
|
/samsungbrowser\/([\w\.]+)/i // Samsung Internet
|
|
434
440
|
], [VERSION, [NAME, SAMSUNG + ' Internet']], [
|
|
435
441
|
/metasr[\/ ]?([\d\.]+)/i // Sogou Explorer
|
|
@@ -477,10 +483,10 @@
|
|
|
477
483
|
], [VERSION, [NAME, CHROME+' Headless']], [
|
|
478
484
|
|
|
479
485
|
/wv\).+chrome\/([\w\.]+).+edgw\//i // Edge WebView2
|
|
480
|
-
], [VERSION, [NAME, EDGE+' WebView2']], [
|
|
486
|
+
], [VERSION, [NAME, EDGE+' WebView2'], [TYPE, INAPP]], [
|
|
481
487
|
|
|
482
|
-
|
|
483
|
-
], [[NAME, CHROME+' WebView'], VERSION], [
|
|
488
|
+
/; wv\).+(chrome)\/([\w\.]+)/i // Chrome WebView
|
|
489
|
+
], [[NAME, CHROME+' WebView'], VERSION, [TYPE, INAPP]], [
|
|
484
490
|
|
|
485
491
|
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i // Android Browser
|
|
486
492
|
], [VERSION, [NAME, 'Android' + SUFFIX_BROWSER]], [
|
|
@@ -614,7 +620,7 @@
|
|
|
614
620
|
/oid[^\)]+; (redmi[\-_ ]?(?:note|k)?[\w_ ]+|m?[12]\d[01]\d\w{3,6}|poco[\w ]+|(shark )?\w{3}-[ah]0|qin ?[1-3](s\+|ultra| pro)?)( bui|; wv|\))/i,
|
|
615
621
|
// Xiaomi Mi
|
|
616
622
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
617
|
-
|
|
623
|
+
/; ([\w ]+) miui\/v?\d/i
|
|
618
624
|
], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [
|
|
619
625
|
|
|
620
626
|
// OnePlus
|
|
@@ -769,10 +775,19 @@
|
|
|
769
775
|
/; (ac[3-6]\d\w{2,8})( b|\))/i
|
|
770
776
|
], [MODEL, [VENDOR, 'Archos'], [TYPE, MOBILE]], [
|
|
771
777
|
|
|
778
|
+
// Blackview
|
|
779
|
+
/blackview ([-\w ]+)( b|\))/i,
|
|
780
|
+
/; (bv\d{4}[-\w ]*)( b|\))/i
|
|
781
|
+
], [MODEL, [VENDOR, 'Blackview'], [TYPE, MOBILE]], [
|
|
782
|
+
|
|
772
783
|
// HMD
|
|
773
784
|
/; (n159v)/i
|
|
774
785
|
], [MODEL, [VENDOR, 'HMD'], [TYPE, MOBILE]], [
|
|
775
786
|
|
|
787
|
+
// T-Mobile
|
|
788
|
+
/((revvl[ \w\+]+|tm(?:rv|af)\w*[45]g(?:tb)?))( b|\))/i
|
|
789
|
+
], [MODEL, [TYPE, strTest, { 'test': /ta?b/i, 'ifTrue': TABLET, 'ifFalse': MOBILE }], [VENDOR, 'T-Mobile']], [
|
|
790
|
+
|
|
776
791
|
// MIXED
|
|
777
792
|
/(imo) (tab \w+)/i, // IMO
|
|
778
793
|
/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i // Infinix XPad / Tecno
|
|
@@ -780,8 +795,8 @@
|
|
|
780
795
|
|
|
781
796
|
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
|
|
782
797
|
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Tecno/Micromax/Advan
|
|
783
|
-
// BLU/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
|
|
784
|
-
/; (blu|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([
|
|
798
|
+
// BLU/Coolpad/CUBOT/HMD/IMO/Infinix/Lava/OnePlus/TCL/Wiko
|
|
799
|
+
/; (blu|coolpad|cubot|hmd|imo|infinix|lava|oneplus|tcl|wiko)[_ ]([-\w\+ ]+?)(?: bui|\)|; r)/i,
|
|
785
800
|
/(hp) ([\w ]+\w)/i, // HP iPAQ
|
|
786
801
|
/(microsoft); (lumia[\w ]+)/i, // Microsoft Lumia
|
|
787
802
|
/(oppo) ?([\w ]+) bui/i, // OPPO
|
|
@@ -1189,12 +1204,12 @@
|
|
|
1189
1204
|
[BRANDS, itemListToArray(uach[CH])],
|
|
1190
1205
|
[FULLVERLIST, itemListToArray(uach[CH_FULL_VER_LIST])],
|
|
1191
1206
|
[MOBILE, /\?1/.test(uach[CH_MOBILE])],
|
|
1192
|
-
[MODEL,
|
|
1193
|
-
[PLATFORM,
|
|
1194
|
-
[PLATFORMVER,
|
|
1195
|
-
[ARCHITECTURE,
|
|
1207
|
+
[MODEL, normalizeHeaderValue(uach[CH_MODEL])],
|
|
1208
|
+
[PLATFORM, normalizeHeaderValue(uach[CH_PLATFORM])],
|
|
1209
|
+
[PLATFORMVER, normalizeHeaderValue(uach[CH_PLATFORM_VER])],
|
|
1210
|
+
[ARCHITECTURE, normalizeHeaderValue(uach[CH_ARCH])],
|
|
1196
1211
|
[FORMFACTORS, itemListToArray(uach[CH_FORM_FACTORS])],
|
|
1197
|
-
[BITNESS,
|
|
1212
|
+
[BITNESS, normalizeHeaderValue(uach[CH_BITNESS])]
|
|
1198
1213
|
]);
|
|
1199
1214
|
} else {
|
|
1200
1215
|
for (var prop in uach) {
|
|
@@ -1282,11 +1297,17 @@
|
|
|
1282
1297
|
this.set(MAJOR, majorize(this.get(VERSION)));
|
|
1283
1298
|
break;
|
|
1284
1299
|
case OS:
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1300
|
+
// Since iOS 26, Safari's UA reports the OS version as frozen at 18:
|
|
1301
|
+
// https://webkit.org/blog/17333/webkit-features-in-safari-26-0/#update-to-ua-string
|
|
1302
|
+
if (this.get(NAME) == 'iOS' && this.get(VERSION)) {
|
|
1303
|
+
// Only perform this if iOS version is 18/19
|
|
1304
|
+
if (/^1[89][^\d]/.exec(this.get(VERSION))) {
|
|
1305
|
+
// Based on the assumption that "iOS" version is tightly coupled with "Safari" version
|
|
1306
|
+
var realVersion = /\) Version\/((\d+)[\d\.]*)/.exec(this.ua);
|
|
1307
|
+
if (realVersion && parseInt(realVersion[2], 10) >= 26) {
|
|
1308
|
+
// iOS version = Safari version
|
|
1309
|
+
this.set(VERSION, realVersion[1]);
|
|
1310
|
+
}
|
|
1290
1311
|
}
|
|
1291
1312
|
}
|
|
1292
1313
|
break;
|
|
@@ -1442,9 +1463,7 @@
|
|
|
1442
1463
|
EMPTY)), // empty string
|
|
1443
1464
|
|
|
1444
1465
|
httpUACH = new UACHData(headers, true),
|
|
1445
|
-
regexMap =
|
|
1446
|
-
extend(defaultRegexes, extensions) :
|
|
1447
|
-
defaultRegexes,
|
|
1466
|
+
regexMap = defaultRegexes,
|
|
1448
1467
|
|
|
1449
1468
|
createItemFunc = function (itemType) {
|
|
1450
1469
|
if (itemType == RESULT) {
|
|
@@ -1479,9 +1498,14 @@
|
|
|
1479
1498
|
['setUA', function (ua) {
|
|
1480
1499
|
if (isString(ua)) userAgent = trim(ua, UA_MAX_LENGTH);
|
|
1481
1500
|
return this;
|
|
1501
|
+
}],
|
|
1502
|
+
['useExtension', function (exts) {
|
|
1503
|
+
if (exts) regexMap = extend(regexMap, exts);
|
|
1504
|
+
return this;
|
|
1482
1505
|
}]
|
|
1483
1506
|
])
|
|
1484
|
-
.setUA(userAgent)
|
|
1507
|
+
.setUA(userAgent)
|
|
1508
|
+
.useExtension(extensions);
|
|
1485
1509
|
|
|
1486
1510
|
return this;
|
|
1487
1511
|
}
|
|
@@ -1493,4 +1517,4 @@
|
|
|
1493
1517
|
UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);
|
|
1494
1518
|
|
|
1495
1519
|
export { UAParser as U };
|
|
1496
|
-
//# sourceMappingURL=ua-parser-
|
|
1520
|
+
//# sourceMappingURL=ua-parser-BLkTkt4a.js.map
|