@bigbinary/neeto-molecules 5.2.25 → 5.2.27

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.
Files changed (53) hide show
  1. package/dist/AuditLogs.js +11 -2
  2. package/dist/AuditLogs.js.map +1 -1
  3. package/dist/FileUpload.js +46 -75
  4. package/dist/FileUpload.js.map +1 -1
  5. package/dist/cjs/AuditLogs.js +11 -2
  6. package/dist/cjs/AuditLogs.js.map +1 -1
  7. package/dist/cjs/FileUpload.js +45 -74
  8. package/dist/cjs/FileUpload.js.map +1 -1
  9. package/dist/cjs/v2/AuditLogs.js +11 -2
  10. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  11. package/dist/cjs/v2/FileUpload.js +45 -74
  12. package/dist/cjs/v2/FileUpload.js.map +1 -1
  13. package/dist/v2/AuditLogs.js +11 -2
  14. package/dist/v2/AuditLogs.js.map +1 -1
  15. package/dist/v2/FileUpload.js +46 -75
  16. package/dist/v2/FileUpload.js.map +1 -1
  17. package/package.json +1 -1
  18. package/src/translations/ar.json +3 -1
  19. package/src/translations/bg.json +3 -1
  20. package/src/translations/ca.json +3 -1
  21. package/src/translations/cs.json +3 -1
  22. package/src/translations/da.json +3 -1
  23. package/src/translations/de.json +3 -1
  24. package/src/translations/en.json +2 -0
  25. package/src/translations/es-MX.json +3 -1
  26. package/src/translations/es.json +3 -1
  27. package/src/translations/et.json +3 -1
  28. package/src/translations/fi.json +3 -1
  29. package/src/translations/fil.json +3 -1
  30. package/src/translations/fr.json +3 -1
  31. package/src/translations/he.json +3 -1
  32. package/src/translations/hi.json +3 -1
  33. package/src/translations/hr.json +3 -1
  34. package/src/translations/hu.json +3 -1
  35. package/src/translations/id.json +3 -1
  36. package/src/translations/it.json +3 -1
  37. package/src/translations/ja.json +3 -1
  38. package/src/translations/ko.json +3 -1
  39. package/src/translations/nl.json +3 -1
  40. package/src/translations/pl.json +3 -1
  41. package/src/translations/pt-BR.json +3 -1
  42. package/src/translations/pt.json +3 -1
  43. package/src/translations/ro.json +3 -1
  44. package/src/translations/ru.json +3 -1
  45. package/src/translations/sk.json +3 -1
  46. package/src/translations/sl.json +3 -1
  47. package/src/translations/sv.json +3 -1
  48. package/src/translations/th.json +3 -1
  49. package/src/translations/tr.json +3 -1
  50. package/src/translations/uk.json +3 -1
  51. package/src/translations/vi.json +3 -1
  52. package/src/translations/zh-CN.json +3 -1
  53. package/src/translations/zh-TW.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/constants.js","../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/utils.js","../src/components/FileUpload/ErrorMessages.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/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 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 hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && 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-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-testid=\"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-testid=\"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-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=\"neeto-molecules-file-upload__dropzone-helper-text\"\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=\"neeto-molecules-input__error-text\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\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=\"neeto-molecules-input__error-text\"\n data-testid=\"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 </>\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=\"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","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-testid=\"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-testid=\"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 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 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 &&\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 \"./file-upload.scss\";\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=\"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 <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-testid=\"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 check if file size limit is enabled.\n */\n hasFileSizeLimit: PropTypes.bool,\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":["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","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","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","isUploading","cancel","progress","href","url","rel","target","FileGeneric","Check","onClick","Close","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","_updatedFiles","_context","_toConsumableArray","Promise","resolve","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","_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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"}
1
+ {"version":3,"file":"FileUpload.js","sources":["../src/components/FileUpload/constants.js","../src/components/FileUpload/DropZone.jsx","../src/components/FileUpload/utils.js","../src/components/FileUpload/ErrorMessages.jsx","../src/components/FileUpload/Progress.jsx","../src/components/FileUpload/FilePreview.jsx","../src/components/FileUpload/hooks/useFileUpload.js","../src/components/FileUpload/FileUpload.jsx","../src/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/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 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 hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && 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-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-testid=\"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-testid=\"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-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=\"neeto-molecules-file-upload__dropzone-helper-text\"\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=\"neeto-molecules-input__error-text\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span className=\"neeto-molecules-input__error-text-style-handle\">\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=\"neeto-molecules-input__error-text\"\n data-testid=\"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 </>\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=\"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","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-testid=\"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-testid=\"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 { 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 uploadError && setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n name: file.name,\n size: file.size,\n }));\n\n const filesWithPendingUploads = multiple\n ? [...(files || []), ...initialFiles]\n : initialFiles;\n filesRef.current = filesWithPendingUploads;\n onChange(filesWithPendingUploads);\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 setUploadError(error);\n\n return;\n }\n\n const uploadedFile = {\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n };\n\n let filesWithUploadMetadata = [uploadedFile];\n if (multiple) {\n filesWithUploadMetadata = filesRef.current.map(file =>\n file.name === uploadedFile.name\n ? { ...file, ...uploadedFile }\n : file\n );\n }\n\n filesRef.current = filesWithUploadMetadata;\n onChange(filesWithUploadMetadata);\n });\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 &&\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 \"./file-upload.scss\";\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=\"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 <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"neeto-molecules-input__error-text\"\n data-testid=\"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 check if file size limit is enabled.\n */\n hasFileSizeLimit: PropTypes.bool,\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":["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","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","_jsx","_objectSpread","className","classnames","children","_jsxs","FileUpload","size","htmlFor","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","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","assoc","newFiles","_","idx","useEffect","onDropAccepted","acceptedFiles","initialFiles","filesWithPendingUploads","_toConsumableArray","upload","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","event","percentComplete","loaded","total","undefined","create","blob","uploadedFile","blob_url","filename","signedId","signed_id","filesWithUploadMetadata","onDropRejected","fileObject","_useDropzone","useDropzone","minSize","_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$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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"}
@@ -426,12 +426,19 @@ var constructAuditLogText = function constructAuditLogText(_ref3) {
426
426
  }
427
427
  case ACTIONS.INTEGRATION_CONNECTED:
428
428
  {
429
+ var _changes$channelName;
429
430
  var rawName = rest.integrationName,
430
431
  integrationOwner = rest.integrationOwner;
431
432
  var integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;
432
433
  var detail = changes === null || changes === void 0 ? void 0 : changes.detail;
434
+ var channelName = changes === null || changes === void 0 || (_changes$channelName = changes.channelName) === null || _changes$channelName === void 0 ? void 0 : _changes$channelName.replace(/^#/, "");
435
+ var workspaceUrl = changes === null || changes === void 0 ? void 0 : changes.workspaceUrl;
433
436
  var _i18nKey;
434
- if (integrationOwner && detail) {
437
+ if (channelName && workspaceUrl && integrationOwner) {
438
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedChannelOnBehalf";
439
+ } else if (channelName && workspaceUrl) {
440
+ _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedChannel";
441
+ } else if (integrationOwner && detail) {
435
442
  _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalf";
436
443
  } else if (integrationOwner) {
437
444
  _i18nKey = "neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail";
@@ -446,7 +453,9 @@ var constructAuditLogText = function constructAuditLogText(_ref3) {
446
453
  performedBy: performedBy,
447
454
  integrationName: integrationName,
448
455
  detail: detail,
449
- integrationOwner: integrationOwner
456
+ integrationOwner: integrationOwner,
457
+ channelName: channelName,
458
+ workspaceUrl: workspaceUrl
450
459
  }
451
460
  });
452
461
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/useCountriesApi.js","../../src/components/AuditLogs/usePermissionsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Twilio,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n USER_LOGGED_IN: \"userLoggedIn\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n INTEGRATION_CONNECTED: \"integration.connected\",\n INTEGRATION_DISCONNECTED: \"integration.disconnected\",\n INTEGRATION_DISCONNECTED_BY_PROVIDER: \"integration.disconnectedByProvider\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.USER_LOGGED_IN]: User,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.INTEGRATION_CONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserSettings,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const DEFAULT_AUDIT_ICON = User;\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n\nexport const INTEGRATION_ICON_MAP = {\n google_calendar: GoogleCalendar,\n google_meet: GoogleMeet,\n icloud_calendar: Apple,\n outlook: Outlook,\n slack: Slack,\n teams: Teams,\n twilio: Twilio,\n zoom: Zoom,\n};\n\nexport const INTEGRATION_DISPLAY_NAME_MAP = {\n google_calendar: \"Google Calendar\",\n google_meet: \"Google Meet\",\n icloud_calendar: \"iCloud Calendar\",\n outlook: \"Outlook\",\n slack: \"Slack\",\n teams: \"Microsoft Teams\",\n twilio: \"Twilio\",\n zoom: \"Zoom\",\n};\n","import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n values={{ ...additionalValues }}\n components={{\n Bold: <span />,\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n INTEGRATION_DISPLAY_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nconst formatUserAgent = userAgent => {\n const { browser, os } = UAParser(userAgent);\n\n const browserName = browser.name ?? \"Unknown Browser\";\n const browserVersion = browser.version?.split(\".\")[0] ?? \"\";\n const osName = os.name ?? \"Unknown OS\";\n const osVersion = os.version ?? \"\";\n\n return `${browserName} ${browserVersion} on ${osName} ${osVersion}`.trim();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n fullName,\n ipAddress,\n browserDetails,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n loginMethod,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n case ACTIONS.USER_LOGGED_IN: {\n const userIdentifier = fullName || organizationRole || email || \"User\";\n const userAgent = formatUserAgent(browserDetails);\n\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.userLoggedIn\"\n additionalValues={{\n userIdentifier,\n ipAddress,\n userAgent,\n loginMethod: loginMethod || \"Unknown method\",\n }}\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_CONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (integrationOwner) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (integrationOwner) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationDisconnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n const i18nKey = detail\n ? \"neetoMolecules.auditLogs.text.integrationDisconnectedByProvider\"\n : \"neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail\";\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{ performedBy, integrationName, detail }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport {\n ACTIONS,\n AUDIT_ICON_MAP,\n DEFAULT_AUDIT_ICON,\n INTEGRATION_ICON_MAP,\n} from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const isIntegrationAction =\n action === ACTIONS.INTEGRATION_CONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;\n\n const Icon =\n (isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] ||\n AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action]) || DEFAULT_AUDIT_ICON;\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-r border-b border-l p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","USER_LOGGED_IN","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","INTEGRATION_CONNECTED","INTEGRATION_DISCONNECTED","INTEGRATION_DISCONNECTED_BY_PROVIDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","DEFAULT_AUDIT_ICON","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","INTEGRATION_ICON_MAP","google_calendar","GoogleCalendar","google_meet","GoogleMeet","icloud_calendar","Apple","outlook","Outlook","slack","Slack","teams","Teams","twilio","Twilio","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","values","_objectSpread","components","Bold","Code","Typography","className","component","style","Semibold","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","formatUserAgent","userAgent","_browser$name","_browser$version$spli","_browser$version","_os$name","_os$version","_UAParser","UAParser","browser","os","browserName","browserVersion","version","split","osName","osVersion","trim","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","fullName","ipAddress","browserDetails","lastName","email","_ref3$changes","status","message","errorMessage","loginMethod","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","rawName","integrationName","integrationOwner","detail","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":"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"}
1
+ {"version":3,"file":"AuditLogs.js","sources":["../../src/components/AuditLogs/constants.js","../../src/components/AuditLogs/Trans.jsx","../../src/components/AuditLogs/utils.jsx","../../src/components/AuditLogs/Card.jsx","../../src/components/AuditLogs/api.js","../../src/components/AuditLogs/useAuditLogsApi.js","../../src/components/AuditLogs/useCountriesApi.js","../../src/components/AuditLogs/usePermissionsApi.js","../../src/components/AuditLogs/index.jsx"],"sourcesContent":["import { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport {\n User,\n UserAdd,\n UserCircle,\n UserRemove,\n UserSettings,\n CustomDomain,\n ApiKeys,\n} from \"neetoicons\";\nimport {\n Apple,\n GoogleCalendar,\n GoogleMeet,\n Outlook,\n Slack,\n Stripe,\n StripeTypeface,\n Teams,\n Twilio,\n Zoom,\n} from \"neetoicons/misc\";\nimport { indexBy, prop } from \"ramda\";\n\nexport const AUDIT_LOGS_QUERY_KEY = \"audit-logs\";\nexport const COUNTRIES_LIST_QUERY_KEY = \"countries-list\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\nexport const PERMISSIONS_LIST_QUERY_KEY = \"neeto-team-members-permissions\"; // Same key as that used in \"neeto-team-members\" for cache reuse.\n\nexport const ACTIONS = {\n INVITED_USERS: \"invitedUsers\",\n USER_SIGNED_UP: \"userSignedUp\",\n USER_LOGGED_IN: \"userLoggedIn\",\n UPDATED_USER: \"updatedUser\",\n BULK_UPDATE_USERS: \"bulkUpdateUsers\",\n UPDATED_USER_PROFILE: \"updatedUserProfile\",\n CREATED_ROLE: \"createdRole\",\n UPDATED_ROLE: \"updatedRole\",\n DELETED_ROLE: \"deletedRole\",\n INTEGRATION_CONNECTED: \"integration.connected\",\n INTEGRATION_DISCONNECTED: \"integration.disconnected\",\n INTEGRATION_DISCONNECTED_BY_PROVIDER: \"integration.disconnectedByProvider\",\n CONNECTED_STRIPE_ACCOUNT: \"connectedStripeAccount\",\n DISCONNECTED_STRIPE_ACCOUNT: \"disconnectedStripeAccount\",\n CONNECTED_ZOOM_INTEGRATION: \"connectedZoomIntegration\",\n DISCONNECTED_ZOOM_INTEGRATION: \"disconnectedZoomIntegration\",\n CONNECTED_CUSTOM_DOMAIN: \"connectedCustomDomain\",\n CREATED_API_KEY: \"createdApiKey\",\n DELETED_API_KEY: \"deletedApiKey\",\n UPDATED_API_KEY: \"updatedApiKey\",\n};\n\nexport const ADDITIONAL_DETAILS_KEYS = {\n ACTION: \"action\",\n PERFORMED_BY: \"performedBy\",\n PERFORMED_AT: \"performedAt\",\n PRODUCT: \"product\",\n};\n\nexport const AUDIT_ICON_MAP = {\n [ACTIONS.INVITED_USERS]: UserCircle,\n [ACTIONS.USER_SIGNED_UP]: UserAdd,\n [ACTIONS.USER_LOGGED_IN]: User,\n [ACTIONS.UPDATED_USER]: User,\n [ACTIONS.BULK_UPDATE_USERS]: User,\n [ACTIONS.UPDATED_USER_PROFILE]: UserSettings,\n [ACTIONS.CREATED_ROLE]: UserAdd,\n [ACTIONS.UPDATED_ROLE]: UserSettings,\n [ACTIONS.DELETED_ROLE]: UserRemove,\n [ACTIONS.INTEGRATION_CONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED]: UserSettings,\n [ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER]: UserSettings,\n [ACTIONS.CONNECTED_STRIPE_ACCOUNT]: StripeTypeface,\n [ACTIONS.DISCONNECTED_STRIPE_ACCOUNT]: Stripe,\n [ACTIONS.CONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.DISCONNECTED_ZOOM_INTEGRATION]: Zoom,\n [ACTIONS.CONNECTED_CUSTOM_DOMAIN]: CustomDomain,\n [ACTIONS.CREATED_API_KEY]: ApiKeys,\n [ACTIONS.DELETED_API_KEY]: ApiKeys,\n [ACTIONS.UPDATED_API_KEY]: ApiKeys,\n};\n\nexport const DEFAULT_AUDIT_ICON = User;\n\nexport const AUDIT_LOGS_PAGE_SIZE = 12;\n\nexport const LANGUAGE_OPTIONS_MAP = indexBy(prop(\"value\"), LANGUAGE_OPTIONS);\n\nexport const DATE_FORMAT_OPTIONS_MAP = {\n \"%m/%d/%Y\": \"MM/DD/YYYY\",\n \"%d/%m/%Y\": \"DD/MM/YYYY\",\n \"%Y/%m/%d\": \"YYYY/MM/DD\",\n};\n\nexport const FIELD_NAME_MAP = { organizationRole: \"role\" };\n\nexport const INTEGRATION_ICON_MAP = {\n google_calendar: GoogleCalendar,\n google_meet: GoogleMeet,\n icloud_calendar: Apple,\n outlook: Outlook,\n slack: Slack,\n teams: Teams,\n twilio: Twilio,\n zoom: Zoom,\n};\n\nexport const INTEGRATION_DISPLAY_NAME_MAP = {\n google_calendar: \"Google Calendar\",\n google_meet: \"Google Meet\",\n icloud_calendar: \"iCloud Calendar\",\n outlook: \"Outlook\",\n slack: \"Slack\",\n teams: \"Microsoft Teams\",\n twilio: \"Twilio\",\n zoom: \"Zoom\",\n};\n","import { Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { Trans as ReactTrans } from \"react-i18next\";\n\nconst Trans = ({\n i18nKey,\n additionalValues = {},\n additionalComponents = {},\n}) => (\n <ReactTrans\n {...{ i18nKey }}\n values={{ ...additionalValues }}\n components={{\n Bold: <span />,\n Code: (\n <Typography\n className=\"neeto-ui-rounded-md neeto-ui-bg-gray-100 p-1\"\n component=\"code\"\n style=\"body3\"\n />\n ),\n Semibold: (\n <Typography\n className=\"n inline-block text-sm font-medium\"\n component=\"p\"\n />\n ),\n ...additionalComponents,\n }}\n />\n);\n\nTrans.propTypes = {\n i18nKey: PropTypes.string.isRequired,\n additionalValues: PropTypes.object,\n additionalComponents: PropTypes.objectOf(PropTypes.element),\n};\n\nexport default Trans;\n","import { snakeToCamelCase, isNotEmpty, isPresent, humanize } from \"neetocist\";\nimport { identity, isEmpty, indexBy, omit, prop } from \"ramda\";\nimport { UAParser } from \"ua-parser-js\";\n\nimport {\n ACTIONS,\n DATE_FORMAT_OPTIONS_MAP,\n FIELD_NAME_MAP,\n INTEGRATION_DISPLAY_NAME_MAP,\n LANGUAGE_OPTIONS_MAP,\n} from \"./constants\";\nimport Trans from \"./Trans\";\n\nconst formatFieldName = field => FIELD_NAME_MAP[field] || humanize(field);\n\nconst createFieldValueFormatter = ({ field, countriesMap }) => {\n switch (field) {\n case \"language\":\n return value => LANGUAGE_OPTIONS_MAP[value]?.label || value;\n case \"dateFormat\":\n return value => DATE_FORMAT_OPTIONS_MAP[value] || value;\n case \"countryIdentifier\":\n return value => countriesMap[value]?.name || value;\n default:\n return identity;\n }\n};\n\nconst formatChangedFields = ({ changes, countriesMap }) => {\n const fields = Object.keys(changes).map((field, index) => {\n const change = changes[field];\n const valueFormatter = createFieldValueFormatter({ field, countriesMap });\n let element;\n\n if (field === \"profileImage\") {\n element = (\n <span key={field}>\n <Trans\n additionalValues={{ field: formatFieldName(field) }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFields\"\n />\n </span>\n );\n } else if (change && isPresent(change.from)) {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithPreviousValue\"\n additionalValues={{\n field: formatFieldName(field),\n from: valueFormatter(change.from),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n } else {\n element = (\n <span key={field}>\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.updatedFieldsWithNewValue\"\n additionalValues={{\n field: formatFieldName(field),\n to: valueFormatter(change.to),\n }}\n />\n </span>\n );\n }\n\n return index > 0\n ? [<span key={`sep-${field}`}>, </span>, element]\n : element;\n });\n\n return fields.flat();\n};\n\nconst formatUserAgent = userAgent => {\n const { browser, os } = UAParser(userAgent);\n\n const browserName = browser.name ?? \"Unknown Browser\";\n const browserVersion = browser.version?.split(\".\")[0] ?? \"\";\n const osName = os.name ?? \"Unknown OS\";\n const osVersion = os.version ?? \"\";\n\n return `${browserName} ${browserVersion} on ${osName} ${osVersion}`.trim();\n};\n\nexport const transformAction = action =>\n snakeToCamelCase(action.replace(\"audit_logs.organization.\", \"\"));\n\nexport const constructAuditLogText = ({\n countriesMap = {},\n permissionsMap = {},\n action,\n performedBy,\n emails: emailsProp,\n firstName,\n fullName,\n ipAddress,\n browserDetails,\n lastName,\n organizationRole,\n email,\n changes = {},\n status,\n message,\n errorMessage,\n loginMethod,\n ...rest\n}) => {\n const emails = emailsProp ?? [];\n switch (action) {\n case ACTIONS.INVITED_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.invitedUsersFailed\"\n />\n );\n }\n\n case ACTIONS.USER_SIGNED_UP: {\n const name = [firstName, lastName].filter(Boolean).join(\" \");\n const userIdentifier = name || organizationRole || email || \"User\";\n\n return (\n <Trans\n additionalValues={{ userIdentifier }}\n i18nKey=\"neetoMolecules.auditLogs.text.userSignedUp\"\n />\n );\n }\n case ACTIONS.USER_LOGGED_IN: {\n const userIdentifier = fullName || organizationRole || email || \"User\";\n const userAgent = formatUserAgent(browserDetails);\n\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.userLoggedIn\"\n additionalValues={{\n userIdentifier,\n ipAddress,\n userAgent,\n loginMethod: loginMethod || \"Unknown method\",\n }}\n />\n );\n }\n\n case ACTIONS.UPDATED_USER: {\n const affectedUser = email || \"user\";\n const isUserDeactivated = changes?.active?.to === false;\n const otherChanges = isUserDeactivated\n ? omit([\"active\"], changes)\n : changes;\n\n const removedText = isUserDeactivated ? (\n <Trans\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.removedUser\"\n />\n ) : null;\n\n if (isUserDeactivated && isEmpty(otherChanges)) return removedText;\n\n const changedFields = formatChangedFields({\n changes: otherChanges,\n countriesMap,\n });\n\n const updatedUserText = (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy, affectedUser }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUser\"\n />\n );\n\n return removedText ? (\n <>\n {removedText} {updatedUserText}\n </>\n ) : (\n updatedUserText\n );\n }\n\n case ACTIONS.BULK_UPDATE_USERS: {\n if (status === \"success\" && isNotEmpty(emails)) {\n const emailList = emails.join(\", \");\n\n return (\n <Trans\n additionalValues={{ performedBy, emailList, message }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsers\"\n />\n );\n }\n\n return (\n <Trans\n additionalValues={{ performedBy, errorMessage }}\n i18nKey=\"neetoMolecules.auditLogs.text.bulkUpdateUsersFailed\"\n />\n );\n }\n\n case ACTIONS.UPDATED_USER_PROFILE: {\n const changedFields = formatChangedFields({ changes, countriesMap });\n\n return (\n <Trans\n additionalComponents={{ ChangedFields: <>{changedFields}</> }}\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedUserProfile\"\n />\n );\n }\n\n case ACTIONS.CREATED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdRole\"\n />\n );\n }\n\n case ACTIONS.UPDATED_ROLE: {\n const { addedPermissions = [], removedPermissions = [], name } = rest;\n\n const permissionsToText = permissions =>\n permissions\n .map(\n permission =>\n permissionsMap[permission]?.description ||\n humanize(permission.split(\".\")[1])\n )\n .join(\", \");\n\n let i18nKey = \"neetoMolecules.auditLogs.text.updatedRole\";\n\n if (name) {\n i18nKey = \"neetoMolecules.auditLogs.text.updatedRoleName\";\n } else if (isPresent(addedPermissions) && isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.modifiedRolePermission\";\n } else if (isPresent(addedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.addedRolePermission\";\n } else if (isPresent(removedPermissions)) {\n i18nKey = \"neetoMolecules.auditLogs.text.removedRolePermission\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n roleName: organizationRole || \"role\",\n name,\n addedPermissionsText: permissionsToText(addedPermissions),\n removedPermissionsText: permissionsToText(removedPermissions),\n addedPermissionsCount: addedPermissions.length,\n removedPermissionsCount: removedPermissions.length,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_CONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n const channelName = changes?.channelName?.replace(/^#/, \"\");\n const workspaceUrl = changes?.workspaceUrl;\n let i18nKey;\n\n if (channelName && workspaceUrl && integrationOwner) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedChannelOnBehalf\";\n } else if (channelName && workspaceUrl) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedChannel\";\n } else if (integrationOwner && detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalf\";\n } else if (integrationOwner) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationConnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationConnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n integrationOwner,\n channelName,\n workspaceUrl,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED: {\n const { integrationName: rawName, integrationOwner } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n let i18nKey;\n\n if (integrationOwner && detail) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalf\";\n } else if (integrationOwner) {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedOnBehalfWithoutDetail\";\n } else if (detail) {\n i18nKey = \"neetoMolecules.auditLogs.text.integrationDisconnected\";\n } else {\n i18nKey =\n \"neetoMolecules.auditLogs.text.integrationDisconnectedWithoutDetail\";\n }\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{\n performedBy,\n integrationName,\n detail,\n integrationOwner,\n }}\n />\n );\n }\n\n case ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER: {\n const { integrationName: rawName } = rest;\n const integrationName = INTEGRATION_DISPLAY_NAME_MAP[rawName] || rawName;\n const detail = changes?.detail;\n const i18nKey = detail\n ? \"neetoMolecules.auditLogs.text.integrationDisconnectedByProvider\"\n : \"neetoMolecules.auditLogs.text.integrationDisconnectedByProviderWithoutDetail\";\n\n return (\n <Trans\n {...{ i18nKey }}\n additionalValues={{ performedBy, integrationName, detail }}\n />\n );\n }\n\n case ACTIONS.CONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedStripeAccount\"\n additionalValues={{\n performedBy,\n stripeAccountId: changes.stripeAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_STRIPE_ACCOUNT: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedStripeAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n i18nKey=\"neetoMolecules.auditLogs.text.connectedZoomAccount\"\n additionalValues={{\n performedBy,\n zoomAccountId: changes.zoomAccountId,\n }}\n />\n );\n }\n\n case ACTIONS.DISCONNECTED_ZOOM_INTEGRATION: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.disconnectedZoomAccount\"\n />\n );\n }\n\n case ACTIONS.CONNECTED_CUSTOM_DOMAIN: {\n return (\n <Trans\n additionalValues={{ performedBy, hostname: changes.hostname }}\n i18nKey=\"neetoMolecules.auditLogs.text.connectedCustomDomain\"\n />\n );\n }\n\n case ACTIONS.DELETED_ROLE: {\n const roleName = organizationRole || \"role\";\n\n return (\n <Trans\n additionalValues={{ performedBy, roleName }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedRole\"\n />\n );\n }\n\n case ACTIONS.CREATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.createdApiKey\"\n />\n );\n }\n\n case ACTIONS.DELETED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.deletedApiKey\"\n />\n );\n }\n\n case ACTIONS.UPDATED_API_KEY: {\n return (\n <Trans\n additionalValues={{ performedBy, ...rest }}\n i18nKey=\"neetoMolecules.auditLogs.text.updatedApiKey\"\n />\n );\n }\n\n default: {\n return (\n <Trans\n additionalValues={{ performedBy }}\n i18nKey=\"neetoMolecules.auditLogs.text.performedAction\"\n />\n );\n }\n }\n};\n\nexport const indexById = indexBy(prop(\"id\"));\n\nexport const indexByPermissionName = indexBy(prop(\"name\"));\n","import classnames from \"classnames\";\nimport { dateFormat } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nimport {\n ACTIONS,\n AUDIT_ICON_MAP,\n DEFAULT_AUDIT_ICON,\n INTEGRATION_ICON_MAP,\n} from \"./constants\";\nimport { constructAuditLogText, transformAction } from \"./utils\";\n\nconst Card = ({\n auditLog,\n countriesMap,\n index,\n permissionsMap,\n totalCount,\n}) => {\n const { key, metadata, performer, updatedAt } = auditLog;\n\n const action = transformAction(key);\n const performedBy = performer?.name || \"\";\n const performedAt = dateFormat.dateTime(updatedAt);\n\n const auditText = constructAuditLogText({\n countriesMap,\n action,\n performedBy,\n permissionsMap,\n ...metadata,\n });\n\n const isIntegrationAction =\n action === ACTIONS.INTEGRATION_CONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED ||\n action === ACTIONS.INTEGRATION_DISCONNECTED_BY_PROVIDER;\n\n const Icon =\n (isIntegrationAction\n ? INTEGRATION_ICON_MAP[metadata?.integrationName] ||\n AUDIT_ICON_MAP[action]\n : AUDIT_ICON_MAP[action]) || DEFAULT_AUDIT_ICON;\n\n return (\n <div\n data-testid=\"audit-log-card\"\n className={classnames(\n \"align-items-center neeto-ui-border-gray-200 flex w-full gap-x-4 border-r border-b border-l p-3\",\n {\n \"rounded-t-md border-t\": index === 0,\n \"rounded-b-md\": index === totalCount - 1,\n }\n )}\n >\n <div className=\"neeto-ui-rounded-full neeto-ui-bg-gray-100 flex size-10 flex-shrink-0 items-center justify-center\">\n <Icon className=\"neeto-ui-text-gray-600 flex-shrink-0\" size={22} />\n </div>\n <div className=\"flex flex-col gap-y-2\" data-testid=\"audit-log-content\">\n <Typography\n component=\"span\"\n data-testid=\"audit-log-text\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {auditText}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-500 m-0\"\n data-testid=\"audit-log-timestamp\"\n style=\"body3\"\n >\n {performedAt}\n </Typography>\n </div>\n </div>\n );\n};\n\nexport default Card;\n","import axios from \"axios\";\n\nconst fetchAuditLogs = params => axios.get(\"api/v1/audit_logs\", { params });\n\nconst fetchCountries = () => axios.get(\"neeto_team_members/profile/countries\");\n\nconst fetchPermissions = () => axios.get(\"neeto_team_members/permissions\");\n\nconst auditLogsApi = { fetchAuditLogs, fetchCountries, fetchPermissions };\n\nexport default auditLogsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport auditLogsApi from \"./api\";\nimport { AUDIT_LOGS_QUERY_KEY } from \"./constants\";\n\nexport const useFetchAuditLogs = ({ params, options = {} }) =>\n useQuery({\n queryKey: [AUDIT_LOGS_QUERY_KEY, params],\n queryFn: () => auditLogsApi.fetchAuditLogs(params),\n ...options,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { COUNTRIES_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchCountries = () =>\n useQuery({\n queryKey: [COUNTRIES_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport auditLogsApi from \"./api\";\nimport { PERMISSIONS_LIST_QUERY_KEY } from \"./constants\";\n\nexport const useFetchPermissions = () =>\n useQuery({\n queryKey: [PERMISSIONS_LIST_QUERY_KEY],\n queryFn: auditLogsApi.fetchPermissions,\n staleTime: DEFAULT_STALE_TIME,\n });\n","import { useMemo } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData, Spinner, Pagination } from \"neetoui\";\nimport propTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\n\nimport Card from \"./Card\";\nimport { AUDIT_LOGS_PAGE_SIZE } from \"./constants\";\nimport { useFetchAuditLogs } from \"./useAuditLogsApi\";\nimport { useFetchCountries } from \"./useCountriesApi\";\nimport { useFetchPermissions } from \"./usePermissionsApi\";\nimport { indexById, indexByPermissionName } from \"./utils\";\n\nconst AuditLogs = ({ headerProps, noDataHelpText, noDataTitle }) => {\n const { t } = useTranslation();\n\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n data: { auditLogs = [], totalCount = 0 } = {},\n isLoading,\n isFetching,\n } = useFetchAuditLogs({ params: { page, pageSize: AUDIT_LOGS_PAGE_SIZE } });\n\n const { data: countriesData } = useFetchCountries();\n\n const { data: permissionsData } = useFetchPermissions();\n\n const countriesList = countriesData?.countries;\n const permissionsList = permissionsData?.permissions;\n\n const permissionsMap = useMemo(\n () => (permissionsList ? indexByPermissionName(permissionsList) : {}),\n [permissionsList]\n );\n\n const countriesMap = useMemo(\n () => (countriesList ? indexById(countriesList) : {}),\n [countriesList]\n );\n\n if (isLoading || isFetching) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container isHeaderFixed className=\"overflow-hidden\">\n <Header\n className=\"px-5 md:px-10\"\n title={t(\"neetoMolecules.auditLogs.title\")}\n {...headerProps}\n />\n {isPresent(auditLogs) ? (\n <div className=\"w-full grow overflow-y-auto px-5 md:px-10\">\n {auditLogs.map((auditLog, index) => (\n <Card\n {...{ auditLog, countriesMap, index, permissionsMap }}\n key={auditLog.id}\n totalCount={auditLogs.length}\n />\n ))}\n </div>\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <NoData\n helpText={noDataHelpText}\n title={noDataTitle || t(\"neetoMolecules.auditLogs.noData\")}\n />\n </div>\n )}\n {totalCount > 0 && (\n <div className=\"flex w-full justify-end px-5 py-4 md:px-10\">\n <Pagination\n count={totalCount}\n pageNo={parseInt(page)}\n pageSize={AUDIT_LOGS_PAGE_SIZE}\n />\n </div>\n )}\n </Container>\n );\n};\n\nAuditLogs.propTypes = {\n /**\n * Props to be passed to the `Header` component.\n */\n headerProps: propTypes.object,\n /**\n * Help text to be displayed to the `NoData` component when there are no audit logs.\n */\n noDataHelpText: propTypes.string,\n /**\n * Title to be passed to the `NoData` component when there are no audit logs.\n */\n noDataTitle: propTypes.string,\n};\n\nexport default AuditLogs;\n"],"names":["AUDIT_LOGS_QUERY_KEY","COUNTRIES_LIST_QUERY_KEY","PERMISSIONS_LIST_QUERY_KEY","ACTIONS","INVITED_USERS","USER_SIGNED_UP","USER_LOGGED_IN","UPDATED_USER","BULK_UPDATE_USERS","UPDATED_USER_PROFILE","CREATED_ROLE","UPDATED_ROLE","DELETED_ROLE","INTEGRATION_CONNECTED","INTEGRATION_DISCONNECTED","INTEGRATION_DISCONNECTED_BY_PROVIDER","CONNECTED_STRIPE_ACCOUNT","DISCONNECTED_STRIPE_ACCOUNT","CONNECTED_ZOOM_INTEGRATION","DISCONNECTED_ZOOM_INTEGRATION","CONNECTED_CUSTOM_DOMAIN","CREATED_API_KEY","DELETED_API_KEY","UPDATED_API_KEY","AUDIT_ICON_MAP","_AUDIT_ICON_MAP","_defineProperty","UserCircle","UserAdd","User","UserSettings","UserRemove","StripeTypeface","Stripe","Zoom","CustomDomain","ApiKeys","DEFAULT_AUDIT_ICON","AUDIT_LOGS_PAGE_SIZE","LANGUAGE_OPTIONS_MAP","indexBy","prop","LANGUAGE_OPTIONS","DATE_FORMAT_OPTIONS_MAP","FIELD_NAME_MAP","organizationRole","INTEGRATION_ICON_MAP","google_calendar","GoogleCalendar","google_meet","GoogleMeet","icloud_calendar","Apple","outlook","Outlook","slack","Slack","teams","Teams","twilio","Twilio","zoom","INTEGRATION_DISPLAY_NAME_MAP","Trans","_ref","i18nKey","_ref$additionalValues","additionalValues","_ref$additionalCompon","additionalComponents","_jsx","ReactTrans","values","_objectSpread","components","Bold","Code","Typography","className","component","style","Semibold","formatFieldName","field","humanize","createFieldValueFormatter","countriesMap","value","_LANGUAGE_OPTIONS_MAP","label","_countriesMap$value","name","identity","formatChangedFields","_ref2","changes","fields","Object","keys","map","index","change","valueFormatter","element","children","isPresent","from","to","concat","flat","formatUserAgent","userAgent","_browser$name","_browser$version$spli","_browser$version","_os$name","_os$version","_UAParser","UAParser","browser","os","browserName","browserVersion","version","split","osName","osVersion","trim","transformAction","action","snakeToCamelCase","replace","constructAuditLogText","_ref3","_ref3$countriesMap","_ref3$permissionsMap","permissionsMap","performedBy","emailsProp","emails","firstName","fullName","ipAddress","browserDetails","lastName","email","_ref3$changes","status","message","errorMessage","loginMethod","rest","_objectWithoutProperties","_excluded","isNotEmpty","emailList","join","filter","Boolean","userIdentifier","_changes$active","affectedUser","isUserDeactivated","active","otherChanges","omit","removedText","isEmpty","changedFields","updatedUserText","ChangedFields","_Fragment","_jsxs","roleName","_rest$addedPermission","addedPermissions","_rest$removedPermissi","removedPermissions","permissionsToText","permissions","permission","_permissionsMap$permi","description","addedPermissionsText","removedPermissionsText","addedPermissionsCount","length","removedPermissionsCount","_changes$channelName","rawName","integrationName","integrationOwner","detail","channelName","workspaceUrl","stripeAccountId","zoomAccountId","hostname","indexById","indexByPermissionName","Card","auditLog","totalCount","key","metadata","performer","updatedAt","performedAt","dateFormat","dateTime","auditText","isIntegrationAction","Icon","classnames","size","lineHeight","fetchAuditLogs","params","axios","get","fetchCountries","fetchPermissions","auditLogsApi","useFetchAuditLogs","_ref$options","options","useQuery","queryKey","queryFn","useFetchCountries","staleTime","DEFAULT_STALE_TIME","useFetchPermissions","AuditLogs","headerProps","noDataHelpText","noDataTitle","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$page","page","DEFAULT_PAGE_INDEX","_useFetchAuditLogs","pageSize","_useFetchAuditLogs$da","data","_useFetchAuditLogs$da2","_useFetchAuditLogs$da3","auditLogs","_useFetchAuditLogs$da4","isLoading","isFetching","_useFetchCountries","countriesData","_useFetchPermissions","permissionsData","countriesList","countries","permissionsList","useMemo","Spinner","Container","isHeaderFixed","Header","title","_createElement","id","NoData","helpText","Pagination","count","pageNo","parseInt"],"mappings":"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"}