@bigbinary/neeto-molecules 5.2.27 → 5.2.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.js","sources":["../../node_modules/lucide-react/dist/esm/icons/file-text.mjs","../../src/v2/components/FileUpload/constants.js","../../src/v2/components/FileUpload/DropZone.jsx","../../src/v2/components/FileUpload/utils.js","../../src/v2/components/FileUpload/ErrorMessages.jsx","../../src/v2/components/FileUpload/Progress.jsx","../../src/v2/components/FileUpload/FilePreview.jsx","../../src/v2/components/FileUpload/hooks/useFileUpload.js","../../src/v2/components/FileUpload/FileUpload.jsx","../../src/v2/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n];\nconst FileText = createLucideIcon(\"file-text\", __iconNode);\n\nexport { __iconNode, FileText as default };\n//# sourceMappingURL=file-text.mjs.map\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n\nexport const MAX_FILE_SIZE =\n globalProps?.endUserUploadedFileSizeLimitInMb || 10;\n","import { useId } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Upload } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n const inputId = useId();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;\n const promptText = t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n );\n\n return (\n <div\n {...getRootProps({\n \"aria-label\": promptText,\n className: classnames(\n \"nm-file-upload__dropzone border-border bg-muted/40 hover:border-primary focus-visible:border-primary focus-visible:ring-ring/50 focus-visible:ring-2 cursor-pointer rounded border border-dashed p-6 outline-none transition\",\n { \"border-primary bg-primary/5\": isDragActive }\n ),\n })}\n >\n <div\n className=\"flex flex-col items-center gap-2 text-center\"\n data-testid=\"file-upload-body\"\n >\n <Upload className=\"text-muted-foreground\" size={24} />\n <div className=\"flex flex-col items-center gap-1\">\n <label className=\"cursor-pointer\" htmlFor={inputId}>\n <span className=\"text-sm font-medium\">{promptText}</span>\n <input\n {...getInputProps({ id: inputId })}\n data-testid=\"image-browse-button\"\n />\n </label>\n <div className=\"flex flex-col items-center gap-0.5\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type] || [\"application/octet-stream\"];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1024 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1024 * 1024 + 10;\n","import { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n key={index}\n >\n <span>{renderErrorMessage(file, maxFileSizeInBytes, false)}</span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion, useReducedMotion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const shouldReduceMotion = useReducedMotion();\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = {\n duration: shouldReduceMotion ? 0 : duration,\n delay: shouldReduceMotion ? 0 : delay,\n };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"nm-progress__circle\">\n <div className=\"nm-progress__circle-wrapper\" style={{ height: size }}>\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, FileText, X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = withT(({ t, file, isUploading, cancel, progress }) => (\n <li className=\"flex items-center gap-2 px-3 py-2\">\n <div className=\"relative flex h-6 w-6 items-center justify-center\">\n <a\n className={classnames({ invisible: isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileText className=\"text-muted-foreground\" size={20} />\n </a>\n {isUploading && (\n <div className=\"absolute inset-0\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"flex flex-1 flex-col\">\n <span className=\"text-xs font-medium\" data-testid=\"file-name\">\n {file.name}\n </span>\n <span className=\"text-muted-foreground text-[11px]\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <span\n aria-hidden={!file.url}\n className={classnames(\"text-success\", { \"opacity-0\": !file.url })}\n role=\"img\"\n aria-label={t(\"neetoMolecules.fileUpload.fileUploadSuccessful\", {\n defaultValue: \"Upload complete\",\n })}\n >\n {file.url && <Check data-testid=\"file-upload-success\" size={16} />}\n </span>\n <Button\n icon={X}\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.common.actions.remove\", {\n defaultValue: \"Remove\",\n })}\n onClick={cancel}\n />\n </div>\n </li>\n));\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { assoc } from \"ramda\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { DIRECT_UPLOAD_URL } from \"../constants\";\nimport { convertMbToBytes, renderErrorMessage } from \"../utils\";\n\nconst useFileUpload = ({\n disabled,\n accept,\n multiple,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n hasFileSizeLimit,\n}) => {\n const [uploadProgress, setUploadProgress] = useState({});\n const [uploadError, setUploadError] = useState(\"\");\n\n const filesRef = useRef(files);\n filesRef.current = files;\n\n const cancel = useCallback(\n index => () => {\n setUploadProgress(assoc(files[index].name, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n if (uploadError) setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = 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 setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize &&\n hasFileSizeLimit && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport { MAX_FILE_SIZE } from \"./constants\";\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = MAX_FILE_SIZE,\n hasFileSizeLimit = true,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n hasFileSizeLimit,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1024 * 1024;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.name]) && (progress[file.name] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n hasFileSizeLimit,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"border-border mt-3 divide-y rounded-md border\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={idx}\n progress={progress[file.name]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) && (\n <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>{error}</span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n allowedFileTypes: PropTypes.string,\n multipleFilesAllowed: PropTypes.bool,\n maxFileSize: PropTypes.number,\n hasFileSizeLimit: PropTypes.bool,\n isPreview: PropTypes.bool,\n minFileSize: PropTypes.number,\n files: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n error: PropTypes.string,\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","MAX_FILE_SIZE","globalProps","endUserUploadedFileSizeLimitInMb","DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","hasFileSizeLimit","_useTranslation","useTranslation","t","inputId","useId","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","promptText","_jsx","_objectSpread","className","classnames","children","_jsxs","Upload","size","htmlFor","id","unit","types","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","shouldReduceMotion","useReducedMotion","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FilePreview","withT","isUploading","cancel","progress","invisible","href","url","rel","target","FileText","role","defaultValue","Check","Button","icon","X","variant","onClick","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","FileUpload","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$hasFileSizeLimit","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"FileUpload.js","sources":["../../node_modules/lucide-react/dist/esm/icons/file-text.mjs","../../src/v2/components/FileUpload/constants.js","../../src/v2/components/FileUpload/DropZone.jsx","../../src/v2/components/FileUpload/utils.js","../../src/v2/components/FileUpload/ErrorMessages.jsx","../../src/v2/components/FileUpload/Progress.jsx","../../src/v2/components/FileUpload/FilePreview.jsx","../../src/v2/components/FileUpload/hooks/useFileUpload.js","../../src/v2/components/FileUpload/FileUpload.jsx","../../src/v2/components/FileUpload/FormikFileUpload.jsx"],"sourcesContent":["/**\n * @license lucide-react v1.24.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\"path\", { d: \"M10 9H8\", key: \"b1mrlr\" }],\n [\"path\", { d: \"M16 13H8\", key: \"t4e002\" }],\n [\"path\", { d: \"M16 17H8\", key: \"z1uh3a\" }]\n];\nconst FileText = createLucideIcon(\"file-text\", __iconNode);\n\nexport { __iconNode, FileText as default };\n//# sourceMappingURL=file-text.mjs.map\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const FILE_MIME_TYPES = {\n pdf: [\"application/pdf\"],\n doc: [\"application/msword\", \"application/wps-writer\"],\n docx: [\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n xls: [\"application/vnd.ms-excel\"],\n xlsx: [\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n csv: [\"text/csv\"],\n txt: [\"text/plain\"],\n rtf: [\"application/rtf\", \"text/rtf\"],\n html: [\"text/html\"],\n htm: [\"text/html\"],\n md: [\"text/markdown\", \"text/x-markdown\"],\n zip: [\"application/zip\"],\n mp3: [\"audio/mpeg\"],\n wma: [\"audio/x-ms-wma\", \"video/x-ms-asf\"],\n mp4: [\"video/mp4\"],\n mpg: [\"video/mpeg\"],\n mpeg: [\"video/mpeg\"],\n flv: [\"video/x-flv\"],\n avi: [\"video/x-msvideo\"],\n jpg: [\"image/jpeg\"],\n jpeg: [\"image/jpeg\"],\n png: [\"image/png\"],\n gif: [\"image/gif\"],\n json: [\"application/json\"],\n epub: [\"application/epub+zip\"],\n aac: [\"audio/aac\"],\n svg: [\"image/svg+xml\"],\n ico: [\"image/vnd.microsoft.icon\"],\n};\n\nexport const ERROR_CODES = {\n FILE_TOO_LARGE: \"file-too-large\",\n FILE_INVALID_TYPE: \"file-invalid-type\",\n TOO_MANY_FILES: \"too-many-files\",\n};\n\nexport const DIRECT_UPLOAD_URL = \"/api/direct_uploads\";\n\nexport const MAX_FILE_SIZE =\n globalProps?.endUserUploadedFileSizeLimitInMb || 10;\n","import { useId } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Upload } from \"lucide-react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst DropZone = ({\n isDragActive,\n getRootProps,\n getInputProps,\n multipleFilesAllowed,\n maxFileSize,\n allowedFileTypes,\n hasFileSizeLimit,\n}) => {\n const { t } = useTranslation();\n const inputId = useId();\n\n const shouldAllowSingleFileUpload = !multipleFilesAllowed;\n const shouldShowFileSizeLimit = hasFileSizeLimit && maxFileSize;\n const promptText = t(\n \"neetoMolecules.fileUpload.filesDropzone.chooseFileOrDragHere\"\n );\n\n return (\n <div\n {...getRootProps({\n \"aria-label\": promptText,\n className: classnames(\n \"nm-file-upload__dropzone border-border bg-muted/40 hover:border-primary focus-visible:border-primary focus-visible:ring-ring/50 focus-visible:ring-2 cursor-pointer rounded border border-dashed p-6 outline-none transition\",\n { \"border-primary bg-primary/5\": isDragActive }\n ),\n })}\n >\n <div\n className=\"flex flex-col items-center gap-2 text-center\"\n data-testid=\"file-upload-body\"\n >\n <Upload className=\"text-muted-foreground\" size={24} />\n <div className=\"flex flex-col items-center gap-1\">\n <label className=\"cursor-pointer\" htmlFor={inputId}>\n <span className=\"text-sm font-medium\">{promptText}</span>\n <input\n {...getInputProps({ id: inputId })}\n data-testid=\"image-browse-button\"\n />\n </label>\n <div className=\"flex flex-col items-center gap-0.5\">\n {shouldAllowSingleFileUpload && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"upload-only-one-file-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.oneFileAllowed\")}\n </p>\n )}\n {shouldShowFileSizeLimit && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"maximum-allowed-size-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.maxFileSize\", {\n size: maxFileSize,\n unit: \"MB\",\n })}\n </p>\n )}\n {allowedFileTypes && (\n <p\n className=\"text-muted-foreground text-xs\"\n data-testid=\"allowed-files-types-text\"\n >\n {t(\"neetoMolecules.fileUpload.filesDropzone.allowedFileTypes\", {\n types: allowedFileTypes,\n })}\n </p>\n )}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DropZone;\n","import path from \"path\";\n\nimport { t } from \"i18next\";\nimport { isNotPresent } from \"neetocist\";\n\nimport { FILE_MIME_TYPES, ERROR_CODES } from \"./constants\";\n\nexport const getAcceptedFileTypes = allowedFileTypes => {\n const accepted = {};\n\n allowedFileTypes.split(\", \").forEach(type => {\n const mimeTypes = FILE_MIME_TYPES[type] || [\"application/octet-stream\"];\n const extension = `.${type}`;\n\n if (isNotPresent(type) || isNotPresent(mimeTypes)) return;\n\n mimeTypes.forEach(mimeType => {\n if (accepted[mimeType]) accepted[mimeType].push(extension);\n else accepted[mimeType] = [extension];\n });\n });\n\n return accepted;\n};\n\nexport const convertBytesToMb = bytes =>\n ((bytes - 10) / (1024 * 1024)).toFixed(2);\n\nexport const renderErrorMessage = (errorObject, maxFileSize, isMultiple) => {\n const error = errorObject.errors[0];\n const file = errorObject.file;\n if (error) {\n const { code } = error;\n if (code === ERROR_CODES.FILE_TOO_LARGE) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.fileTooLarge\", {\n fileName: file.name,\n maxSize: `${Math.round(maxFileSize / 1048576)}MB`,\n });\n } else if (code === ERROR_CODES.FILE_INVALID_TYPE) {\n return t(\n \"neetoMolecules.fileUpload.filesDropzone.errors.fileInvalidType\",\n { fileType: path.extname(file.name) }\n );\n } else if (code === ERROR_CODES.TOO_MANY_FILES && !isMultiple) {\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n });\n }\n }\n\n return t(\"neetoMolecules.fileUpload.filesDropzone.errors.defaultError\", {\n fileName: file.name,\n });\n};\n\nexport const convertMbToBytes = mb => mb * 1024 * 1024 + 10;\n","import { useTranslation } from \"react-i18next\";\n\nimport { ERROR_CODES } from \"./constants\";\nimport { renderErrorMessage } from \"./utils\";\n\nconst ErrorMessages = ({ fileRejections, maxFileSizeInBytes }) => {\n const { t } = useTranslation();\n\n const hasMultipleFileErrors = fileRejections.some(\n ({ errors }) => errors[0].code === ERROR_CODES.TOO_MANY_FILES\n );\n\n return (\n <>\n {hasMultipleFileErrors && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>\n {t(\"neetoMolecules.fileUpload.filesDropzone.errors.tooManyFiles\", {\n maxFiles: 1,\n })}\n </span>\n </p>\n )}\n {fileRejections\n .filter(({ errors }) => errors[0].code !== ERROR_CODES.TOO_MANY_FILES)\n .map((file, index) => (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n key={index}\n >\n <span>{renderErrorMessage(file, maxFileSizeInBytes, false)}</span>\n </p>\n ))}\n </>\n );\n};\n\nexport default ErrorMessages;\n","import { motion, useReducedMotion } from \"framer-motion\";\n\nconst Progress = ({\n percents,\n stroke = \"currentColor\",\n emptyStroke = stroke,\n emptyStrokeOpacity = 0.25,\n duration = 0.5,\n delay = 0,\n size = 100,\n strokeWidth = 12,\n}) => {\n const shouldReduceMotion = useReducedMotion();\n const radius = 45;\n const circumference = Math.ceil(2 * Math.PI * radius);\n const fillPercents = Math.abs(\n Math.ceil((circumference / 100) * (percents - 100))\n );\n\n const transition = {\n duration: shouldReduceMotion ? 0 : duration,\n delay: shouldReduceMotion ? 0 : delay,\n };\n\n const variants = {\n hidden: { strokeDashoffset: circumference, transition },\n show: { strokeDashoffset: fillPercents, transition },\n };\n\n return (\n <div className=\"nm-progress__circle\">\n <div className=\"nm-progress__circle-wrapper\" style={{ height: size }}>\n <svg\n height={size}\n version=\"1.1\"\n viewBox=\"0 0 100 100\"\n width={size}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n {...{ strokeWidth }}\n className=\"circle\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n r={radius}\n stroke={emptyStroke}\n strokeOpacity={emptyStrokeOpacity}\n />\n </svg>\n <svg\n height={size}\n viewBox=\"0 0 100 100\"\n width={size}\n style={{\n position: \"absolute\",\n transform: \"rotate(-90deg)\",\n overflow: \"visible\",\n top: 0,\n }}\n >\n <motion.circle\n {...{ stroke, strokeWidth, variants }}\n animate=\"show\"\n cx=\"50\"\n cy=\"50\"\n fill=\"transparent\"\n initial=\"hidden\"\n r={radius}\n strokeDasharray={circumference}\n strokeDashoffset={fillPercents}\n />\n </svg>\n </div>\n </div>\n );\n};\n\nexport default Progress;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Check, FileText, X } from \"lucide-react\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nimport Progress from \"./Progress\";\nimport { convertBytesToMb } from \"./utils\";\n\nconst FilePreview = withT(({ t, file, isUploading, cancel, progress }) => (\n <li className=\"flex items-center gap-2 px-3 py-2\">\n <div className=\"relative flex h-6 w-6 items-center justify-center\">\n <a\n className={classnames({ invisible: isUploading })}\n href={file.url}\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n <FileText className=\"text-muted-foreground\" size={20} />\n </a>\n {isUploading && (\n <div className=\"absolute inset-0\">\n <Progress percents={progress || 0} size={20} />\n </div>\n )}\n </div>\n <div className=\"flex flex-1 flex-col\">\n <span className=\"text-xs font-medium\" data-testid=\"file-name\">\n {file.name}\n </span>\n <span className=\"text-muted-foreground text-[11px]\">\n {file.size ? `${convertBytesToMb(file.size)} MB` : \"\"}\n </span>\n </div>\n <div className=\"flex items-center gap-2\">\n <span\n aria-hidden={!file.url}\n className={classnames(\"text-success\", { \"opacity-0\": !file.url })}\n role=\"img\"\n aria-label={t(\"neetoMolecules.fileUpload.fileUploadSuccessful\", {\n defaultValue: \"Upload complete\",\n })}\n >\n {file.url && <Check data-testid=\"file-upload-success\" size={16} />}\n </span>\n <Button\n icon={X}\n size=\"icon-sm\"\n variant=\"ghost\"\n aria-label={t(\"neetoMolecules.common.actions.remove\", {\n defaultValue: \"Remove\",\n })}\n onClick={cancel}\n />\n </div>\n </li>\n));\n\nexport default FilePreview;\n","import { useState, useCallback, useEffect, useRef } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { 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].uploadId, null));\n const newFiles = files?.filter((_, idx) => idx !== index);\n onChange(newFiles);\n },\n [files]\n );\n\n useEffect(() => {\n if (uploadError) setError(uploadError);\n }, [uploadError]);\n\n const onDropAccepted = acceptedFiles => {\n setTouched(false);\n setUploadError(\"\");\n const initialFiles = acceptedFiles.map(file => ({\n // Filenames are not unique, so each file gets a unique id to match\n // upload results back to their entries.\n uploadId: `upload-${Math.random().toString(36).substring(2, 13)}`,\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, fileIndex) => {\n const initialFile = initialFiles[fileIndex];\n const { uploadId } = initialFile;\n setUploadProgress(assoc(uploadId, 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(uploadId, percentComplete));\n });\n\n xhr.upload.addEventListener(\"load\", () => {\n setUploadProgress(assoc(uploadId, undefined));\n });\n },\n });\n\n upload.create((error, blob) => {\n if (error) {\n setUploadError(error);\n setUploadProgress(assoc(uploadId, null));\n\n return;\n }\n\n const uploadedFile = {\n uploadId,\n url: blob.blob_url,\n name: blob.filename,\n signedId: blob.signed_id,\n };\n\n let filesWithUploadMetadata = [{ ...initialFile, ...uploadedFile }];\n if (multiple) {\n filesWithUploadMetadata = filesRef.current.map(file =>\n file.uploadId === uploadedFile.uploadId\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 setUploadError(renderErrorMessage(fileObject, maxFileSize, multiple));\n });\n };\n\n const { getRootProps, getInputProps, isDragActive, fileRejections } =\n useDropzone({\n disabled,\n accept,\n multiple,\n minSize: convertMbToBytes(minFileSize),\n onDropAccepted,\n onDropRejected,\n ...(maxFileSize &&\n hasFileSizeLimit && { maxSize: convertMbToBytes(maxFileSize) }),\n });\n\n return {\n progress: uploadProgress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n };\n};\n\nexport default useFileUpload;\n","import { isNotEmpty, noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { isEmpty, isNotNil } from \"ramda\";\n\nimport { MAX_FILE_SIZE } from \"./constants\";\nimport DropZone from \"./DropZone\";\nimport ErrorMessages from \"./ErrorMessages\";\nimport FilePreview from \"./FilePreview\";\nimport useFileUpload from \"./hooks/useFileUpload\";\nimport { getAcceptedFileTypes } from \"./utils\";\n\nconst FileUpload = ({\n allowedFileTypes = \"\",\n multipleFilesAllowed = true,\n maxFileSize = MAX_FILE_SIZE,\n hasFileSizeLimit = true,\n isPreview = false,\n minFileSize = 0,\n files = [],\n onChange = noop,\n error,\n setError = noop,\n setTouched = noop,\n}) => {\n const {\n progress,\n cancel,\n getRootProps,\n getInputProps,\n isDragActive,\n fileRejections,\n } = useFileUpload({\n disabled: isPreview,\n accept: getAcceptedFileTypes(allowedFileTypes),\n multiple: multipleFilesAllowed,\n maxFileSize,\n minFileSize,\n files,\n onChange,\n setError,\n setTouched,\n hasFileSizeLimit,\n });\n\n const maxFileSizeInBytes = maxFileSize * 1024 * 1024;\n\n const isUploadingFile = file =>\n isNotNil(progress[file.uploadId]) &&\n (progress[file.uploadId] !== 100 || !file.url);\n\n const shouldShowError = error && isEmpty(fileRejections);\n\n return (\n <>\n <DropZone\n {...{\n allowedFileTypes,\n getInputProps,\n getRootProps,\n hasFileSizeLimit,\n isDragActive,\n maxFileSize,\n multipleFilesAllowed,\n }}\n />\n {!isEmpty(files) && (\n <ul className=\"border-border mt-3 divide-y rounded-md border\">\n {files?.map((file, idx) => (\n <FilePreview\n {...{ file }}\n cancel={cancel(idx)}\n isUploading={isUploadingFile(file)}\n key={file.uploadId ?? idx}\n progress={progress[file.uploadId]}\n />\n ))}\n </ul>\n )}\n {isNotEmpty(fileRejections) && (\n <ErrorMessages {...{ fileRejections, maxFileSizeInBytes }} />\n )}\n {shouldShowError && (\n <p\n className=\"text-destructive mt-1 text-xs\"\n data-testid=\"form-file-upload-input-error\"\n >\n <span>{error}</span>\n </p>\n )}\n </>\n );\n};\n\nFileUpload.propTypes = {\n allowedFileTypes: PropTypes.string,\n multipleFilesAllowed: PropTypes.bool,\n maxFileSize: PropTypes.number,\n hasFileSizeLimit: PropTypes.bool,\n isPreview: PropTypes.bool,\n minFileSize: PropTypes.number,\n files: PropTypes.arrayOf(\n PropTypes.shape({\n uploadId: PropTypes.string,\n name: PropTypes.string,\n size: PropTypes.number,\n url: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n error: PropTypes.string,\n setError: PropTypes.func,\n};\n\nexport default FileUpload;\n","import { useField } from \"formik\";\n\nimport FileUpload from \"./FileUpload\";\n\nconst FormikFileUpload = ({ name, ...props }) => {\n const [_, { value, touched, error }, { setValue, setTouched, setError }] =\n useField(name);\n\n const errorToDisplay = touched && error ? error : \"\";\n\n return (\n <FileUpload\n {...{ ...props, setError, setTouched }}\n error={errorToDisplay}\n files={value}\n onChange={setValue}\n />\n );\n};\n\nexport default FormikFileUpload;\n"],"names":["FILE_MIME_TYPES","pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","htm","md","zip","mp3","wma","mp4","mpg","mpeg","flv","avi","jpg","jpeg","png","gif","json","epub","aac","svg","ico","ERROR_CODES","FILE_TOO_LARGE","FILE_INVALID_TYPE","TOO_MANY_FILES","DIRECT_UPLOAD_URL","MAX_FILE_SIZE","globalProps","endUserUploadedFileSizeLimitInMb","DropZone","_ref","isDragActive","getRootProps","getInputProps","multipleFilesAllowed","maxFileSize","allowedFileTypes","hasFileSizeLimit","_useTranslation","useTranslation","t","inputId","useId","shouldAllowSingleFileUpload","shouldShowFileSizeLimit","promptText","_jsx","_objectSpread","className","classnames","children","_jsxs","Upload","size","htmlFor","id","unit","types","getAcceptedFileTypes","accepted","split","forEach","type","mimeTypes","extension","concat","isNotPresent","mimeType","push","convertBytesToMb","bytes","toFixed","renderErrorMessage","errorObject","isMultiple","error","errors","file","code","fileName","name","maxSize","Math","round","fileType","path","extname","maxFiles","convertMbToBytes","mb","ErrorMessages","fileRejections","maxFileSizeInBytes","hasMultipleFileErrors","some","_ref2","_Fragment","filter","_ref3","map","index","Progress","percents","_ref$stroke","stroke","_ref$emptyStroke","emptyStroke","_ref$emptyStrokeOpaci","emptyStrokeOpacity","_ref$duration","duration","_ref$delay","delay","_ref$size","_ref$strokeWidth","strokeWidth","shouldReduceMotion","useReducedMotion","radius","circumference","ceil","PI","fillPercents","abs","transition","variants","hidden","strokeDashoffset","show","style","height","version","viewBox","width","xmlns","cx","cy","fill","r","strokeOpacity","position","transform","overflow","top","motion","circle","animate","initial","strokeDasharray","FilePreview","withT","isUploading","cancel","progress","invisible","href","url","rel","target","FileText","role","defaultValue","Check","Button","icon","X","variant","onClick","useFileUpload","disabled","accept","multiple","minFileSize","files","onChange","setError","setTouched","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","uploadError","setUploadError","filesRef","useRef","current","useCallback","assoc","uploadId","newFiles","_","idx","useEffect","onDropAccepted","acceptedFiles","initialFiles","random","toString","substring","filesWithPendingUploads","_toConsumableArray","fileIndex","initialFile","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","FileUpload","_ref$allowedFileTypes","_ref$multipleFilesAll","_ref$maxFileSize","_ref$hasFileSizeLimit","_ref$isPreview","isPreview","_ref$minFileSize","_ref$files","_ref$onChange","noop","_ref$setError","_ref$setTouched","_useFileUpload","isUploadingFile","isNotNil","shouldShowError","isEmpty","_file$uploadId","_createElement","key","isNotEmpty","FormikFileUpload","props","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_useField2$","value","touched","_useField2$2","setValue","errorToDisplay"],"mappings":"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","x_google_ignoreList":[0]}
@@ -62,7 +62,6 @@ var BulkOptionModal = function BulkOptionModal(_ref) {
62
62
  };
63
63
  return /*#__PURE__*/jsxs(Dialog, {
64
64
  isOpen: isOpen,
65
- "aria-describedby": undefined,
66
65
  onClose: handleClose,
67
66
  children: [/*#__PURE__*/jsx(Dialog.Header, {
68
67
  children: /*#__PURE__*/jsx(Dialog.Title, {
@@ -82,6 +81,7 @@ var BulkOptionModal = function BulkOptionModal(_ref) {
82
81
  Link: /*#__PURE__*/jsx(Button, {
83
82
  className: "text-xs",
84
83
  href: bulkAddHelpDocUrl,
84
+ rel: "noreferrer",
85
85
  target: "_blank",
86
86
  variant: "link"
87
87
  })
@@ -157,13 +157,14 @@ var OptionActions = withT(function (_ref) {
157
157
  _ref$className = _ref.className,
158
158
  className = _ref$className === void 0 ? "" : _ref$className;
159
159
  return /*#__PURE__*/jsxs("div", {
160
- className: "flex items-center gap-1 ".concat(className),
160
+ className: "flex items-center gap-2 ".concat(className),
161
161
  children: [!hideCloneOption && /*#__PURE__*/jsx(Button, {
162
162
  disabled: disabled,
163
- className: "p-0.5",
164
163
  "data-testid": "clone-option-button-".concat(optionIndex),
165
- icon: Copy,
166
- size: "sm",
164
+ icon: /*#__PURE__*/jsx(Copy, {
165
+ className: "size-4"
166
+ }),
167
+ size: "icon-xs",
167
168
  variant: "ghost",
168
169
  tooltipProps: {
169
170
  content: t("neetoMolecules.common.actions.clone"),
@@ -174,10 +175,11 @@ var OptionActions = withT(function (_ref) {
174
175
  }
175
176
  }), !hideDeleteOption && /*#__PURE__*/jsx(Button, {
176
177
  disabled: disabled,
177
- className: "p-0.5",
178
178
  "data-testid": "delete-option-button-".concat(optionIndex),
179
- icon: Trash2,
180
- size: "sm",
179
+ icon: /*#__PURE__*/jsx(Trash2, {
180
+ className: "size-4"
181
+ }),
182
+ size: "icon-xs",
181
183
  variant: "ghost",
182
184
  tooltipProps: {
183
185
  content: t("neetoMolecules.common.actions.delete"),
@@ -250,7 +252,7 @@ var EditorOption = function EditorOption(_ref) {
250
252
  _onBlur === null || _onBlur === void 0 || _onBlur(id, value);
251
253
  }
252
254
  }), /*#__PURE__*/jsx("div", {
253
- className: "absolute end-2 top-2",
255
+ className: "absolute end-2 top-0 flex h-[34px] items-center",
254
256
  children: /*#__PURE__*/jsx(OptionActions, {
255
257
  arrayHelpers: arrayHelpers,
256
258
  disabled: disabled,
@@ -311,6 +313,11 @@ var ImageOption = function ImageOption(_ref) {
311
313
  fieldType: "image"
312
314
  });
313
315
  };
316
+
317
+ // The actions are absolutely positioned, so the card has to reserve room for
318
+ // them: the end-2 inset, 24px per button plus the 8px gap between them, and a
319
+ // trailing 8px matching the card's own padding.
320
+ var actionCount = (hideCloneOption ? 0 : 1) + (hideDeleteOption ? 0 : 1);
314
321
  return /*#__PURE__*/jsx("div", _objectSpread$6(_objectSpread$6({
315
322
  ref: innerRef
316
323
  }, _objectSpread$6(_objectSpread$6({}, draggableProps), dragHandleProps)), {}, {
@@ -327,7 +334,10 @@ var ImageOption = function ImageOption(_ref) {
327
334
  "pointer-events-none opacity-80": disabled
328
335
  }),
329
336
  children: /*#__PURE__*/jsxs("div", {
330
- className: "border-border bg-background group relative flex w-full flex-col gap-2 rounded-lg border p-2 pe-8",
337
+ className: classnames("border-border bg-card group relative flex w-full flex-col gap-2 rounded-lg border p-2", {
338
+ "pe-10": actionCount === 1,
339
+ "pe-18": actionCount === 2
340
+ }),
331
341
  children: [/*#__PURE__*/jsx("div", {
332
342
  className: "flex-shrink-0",
333
343
  "data-testid": "picture-choice-option-".concat(optionIndex),
@@ -462,7 +472,12 @@ var InputOption = function InputOption(_ref) {
462
472
  autoFocus: shouldFocus,
463
473
  className: "flex-1",
464
474
  "data-testid": "".concat(isTextArea ? "option-textarea" : "option-input", "-").concat(optionIndex),
465
- suffix: /*#__PURE__*/jsx(OptionActions, {
475
+ suffix:
476
+ /*#__PURE__*/
477
+ // `size-auto` overrides the icon-size class atoms injects into
478
+ // addons, which would otherwise collapse the actions to 16px and
479
+ // clip the second button when cloning is enabled.
480
+ jsx(OptionActions, {
466
481
  arrayHelpers: arrayHelpers,
467
482
  disabled: disabled,
468
483
  hideCloneOption: hideCloneOption,
@@ -470,7 +485,8 @@ var InputOption = function InputOption(_ref) {
470
485
  id: id,
471
486
  onClone: onClone,
472
487
  onDelete: onDelete,
473
- optionIndex: optionIndex
488
+ optionIndex: optionIndex,
489
+ className: "size-auto"
474
490
  }),
475
491
  onChange: function onChange(_ref2) {
476
492
  var target = _ref2.target;
@@ -716,7 +732,8 @@ var FormError = function FormError(_ref) {
716
732
  var error = _ref.error;
717
733
  if (isNotPresent(error) || typeof error !== "string") return null;
718
734
  return /*#__PURE__*/jsx(Typography, {
719
- className: "text-destructive mt-1",
735
+ className: "mt-1",
736
+ color: "destructive",
720
737
  "data-testid": "validation-error-container",
721
738
  variant: "body3",
722
739
  children: error
@@ -941,10 +958,10 @@ var BlockOption = withT(function (_ref) {
941
958
  ref: innerRef
942
959
  }, draggableProps), dragHandleProps), {}, {
943
960
  children: /*#__PURE__*/jsxs("div", {
944
- className: "border-border hover:bg-muted group relative ms-3 mb-2 flex h-10 cursor-pointer items-center gap-2 rounded border p-3 shadow-xs transition-colors duration-300 ease-in-out",
961
+ className: "border-border hover:bg-muted group relative ms-3 mb-2 flex h-10 cursor-pointer items-center gap-2 rounded-lg border p-3 shadow-xs transition-colors duration-300 ease-in-out",
945
962
  "data-testid": "address-field-block",
946
963
  children: [isDraggable && /*#__PURE__*/jsx(DragHandle, _objectSpread$2(_objectSpread$2({}, dragHandleProps), {}, {
947
- className: "absolute -start-0.5 top-1/2 -translate-x-full -translate-y-1/2",
964
+ className: "absolute -start-0.5 top-1/2 -translate-x-full -translate-y-1/2 rtl:translate-x-full",
948
965
  "data-testid": "drag-handle-".concat(optionIndex)
949
966
  })), isCheckboxEnabled && /*#__PURE__*/jsx(Checkbox, {
950
967
  name: name,
@@ -959,10 +976,12 @@ var BlockOption = withT(function (_ref) {
959
976
  }), /*#__PURE__*/jsxs("div", {
960
977
  className: "flex items-center justify-end gap-2 opacity-0 group-hover:opacity-100",
961
978
  children: [/*#__PURE__*/jsx(Button, {
962
- className: "hover:bg-muted rounded p-1",
979
+ className: "hover:bg-muted",
963
980
  "data-testid": "address-field-edit-button",
964
- icon: Pencil,
965
- size: "sm",
981
+ icon: /*#__PURE__*/jsx(Pencil, {
982
+ className: "size-4"
983
+ }),
984
+ size: "icon-xs",
966
985
  variant: "ghost",
967
986
  tooltipProps: {
968
987
  content: t("neetoMolecules.common.actions.edit"),
@@ -978,7 +997,6 @@ var BlockOption = withT(function (_ref) {
978
997
  id: id,
979
998
  onClone: onClone,
980
999
  optionIndex: optionIndex,
981
- className: "flex items-center gap-2",
982
1000
  onDelete: handleDeleteClick
983
1001
  })]
984
1002
  })]
@@ -1268,7 +1286,7 @@ var OptionFields = function OptionFields(_ref) {
1268
1286
  disabled: !isEditable,
1269
1287
  label: t("neetoMolecules.optionFields.addBulk"),
1270
1288
  size: "sm",
1271
- variant: "ghost",
1289
+ variant: "link",
1272
1290
  onClick: function onClick() {
1273
1291
  return setIsBulkOptionModalOpen(true);
1274
1292
  }