@bigbinary/neeto-editor-frontend 2.0.2 → 2.0.3

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 (85) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Attachments.js +3 -3
  3. package/dist/Editor.js +6 -6
  4. package/dist/EditorContent.js +2 -2
  5. package/dist/FormikEditor.js +6 -6
  6. package/dist/Menu.js +5 -5
  7. package/dist/{chunk-PSGRE5nX.js → chunk-Bg0xYw5S.js} +3 -3
  8. package/dist/{chunk-PSGRE5nX.js.map → chunk-Bg0xYw5S.js.map} +1 -1
  9. package/dist/{chunk-Bra5VPWO.js → chunk-Bw7QSBHf.js} +3 -3
  10. package/dist/{chunk-Bra5VPWO.js.map → chunk-Bw7QSBHf.js.map} +1 -1
  11. package/dist/{chunk-mFZL53CS.js → chunk-C4ngrj-P.js} +4 -4
  12. package/dist/{chunk-mFZL53CS.js.map → chunk-C4ngrj-P.js.map} +1 -1
  13. package/dist/{chunk-y5pmJStT.js → chunk-CHmdEEC5.js} +4 -4
  14. package/dist/{chunk-y5pmJStT.js.map → chunk-CHmdEEC5.js.map} +1 -1
  15. package/dist/{chunk-CX-0IHKE.js → chunk-CiVaat1H.js} +3 -3
  16. package/dist/{chunk-CX-0IHKE.js.map → chunk-CiVaat1H.js.map} +1 -1
  17. package/dist/{chunk-DrHVV_g1.js → chunk-CyfiHLWx.js} +5 -3
  18. package/dist/chunk-CyfiHLWx.js.map +1 -0
  19. package/dist/{chunk-D52F37yF.js → chunk-DSKEeXyj.js} +2 -2
  20. package/dist/{chunk-D52F37yF.js.map → chunk-DSKEeXyj.js.map} +1 -1
  21. package/dist/{chunk-DsAUS6bL.js → chunk-DZTg5JCM.js} +3 -3
  22. package/dist/{chunk-DsAUS6bL.js.map → chunk-DZTg5JCM.js.map} +1 -1
  23. package/dist/{chunk-1NlIGj6C.js → chunk-DoZN1FPd.js} +2 -2
  24. package/dist/{chunk-1NlIGj6C.js.map → chunk-DoZN1FPd.js.map} +1 -1
  25. package/dist/{chunk-DcFvJOrc.js → chunk-EgiY42Lm.js} +5 -5
  26. package/dist/{chunk-DcFvJOrc.js.map → chunk-EgiY42Lm.js.map} +1 -1
  27. package/dist/{chunk-CO-Yfs5R.js → chunk-NDmv6peW.js} +4 -4
  28. package/dist/{chunk-CO-Yfs5R.js.map → chunk-NDmv6peW.js.map} +1 -1
  29. package/dist/{chunk-CK_Ss-J5.js → chunk-eOIMt7jp.js} +2 -2
  30. package/dist/{chunk-CK_Ss-J5.js.map → chunk-eOIMt7jp.js.map} +1 -1
  31. package/dist/cjs/Attachments.cjs.js +3 -3
  32. package/dist/cjs/Editor.cjs.js +6 -6
  33. package/dist/cjs/EditorContent.cjs.js +2 -2
  34. package/dist/cjs/FormikEditor.cjs.js +6 -6
  35. package/dist/cjs/Menu.cjs.js +5 -5
  36. package/dist/cjs/{chunk-Bmjmsp-E.cjs.js → chunk-BNUTjVYA.cjs.js} +5 -3
  37. package/dist/cjs/chunk-BNUTjVYA.cjs.js.map +1 -0
  38. package/dist/cjs/{chunk-MxWVMW6e.cjs.js → chunk-Bmd6d-x7.cjs.js} +3 -3
  39. package/dist/cjs/{chunk-MxWVMW6e.cjs.js.map → chunk-Bmd6d-x7.cjs.js.map} +1 -1
  40. package/dist/cjs/{chunk-D7p10rIr.cjs.js → chunk-BuuzKD6e.cjs.js} +3 -3
  41. package/dist/cjs/{chunk-D7p10rIr.cjs.js.map → chunk-BuuzKD6e.cjs.js.map} +1 -1
  42. package/dist/cjs/{chunk-DWyvxp1a.cjs.js → chunk-Bv4wbN1E.cjs.js} +3 -3
  43. package/dist/cjs/{chunk-DWyvxp1a.cjs.js.map → chunk-Bv4wbN1E.cjs.js.map} +1 -1
  44. package/dist/cjs/{chunk-BlWQNLLE.cjs.js → chunk-C98N-sIR.cjs.js} +5 -5
  45. package/dist/cjs/{chunk-BlWQNLLE.cjs.js.map → chunk-C98N-sIR.cjs.js.map} +1 -1
  46. package/dist/cjs/{chunk-DM1lUvXy.cjs.js → chunk-CPtfEUVF.cjs.js} +3 -3
  47. package/dist/cjs/{chunk-DM1lUvXy.cjs.js.map → chunk-CPtfEUVF.cjs.js.map} +1 -1
  48. package/dist/cjs/{chunk-B2NfgecV.cjs.js → chunk-CUiAHc9-.cjs.js} +4 -4
  49. package/dist/cjs/{chunk-B2NfgecV.cjs.js.map → chunk-CUiAHc9-.cjs.js.map} +1 -1
  50. package/dist/cjs/{chunk-CCCSexAh.cjs.js → chunk-Cgxhrpuh.cjs.js} +4 -4
  51. package/dist/cjs/{chunk-CCCSexAh.cjs.js.map → chunk-Cgxhrpuh.cjs.js.map} +1 -1
  52. package/dist/cjs/{chunk-cwORbcv3.cjs.js → chunk-CtTb6u9F.cjs.js} +2 -2
  53. package/dist/cjs/{chunk-cwORbcv3.cjs.js.map → chunk-CtTb6u9F.cjs.js.map} +1 -1
  54. package/dist/cjs/{chunk-CNIzgxEP.cjs.js → chunk-D1iu346F.cjs.js} +2 -2
  55. package/dist/cjs/{chunk-CNIzgxEP.cjs.js.map → chunk-D1iu346F.cjs.js.map} +1 -1
  56. package/dist/cjs/{chunk-C8X4oFtP.cjs.js → chunk-DIpaV2xG.cjs.js} +4 -4
  57. package/dist/cjs/{chunk-C8X4oFtP.cjs.js.map → chunk-DIpaV2xG.cjs.js.map} +1 -1
  58. package/dist/cjs/{chunk-D6ygkQBu.cjs.js → chunk-R9zpTo5i.cjs.js} +2 -2
  59. package/dist/cjs/{chunk-D6ygkQBu.cjs.js.map → chunk-R9zpTo5i.cjs.js.map} +1 -1
  60. package/dist/cjs/constants.cjs.js +2 -2
  61. package/dist/cjs/index.cjs.js +6 -6
  62. package/dist/cjs/utils.cjs.js +3 -3
  63. package/dist/cjs/v2/Attachments.cjs.js +3 -3
  64. package/dist/cjs/v2/Editor.cjs.js +5 -5
  65. package/dist/cjs/v2/EditorContent.cjs.js +3 -3
  66. package/dist/cjs/v2/FormikEditor.cjs.js +5 -5
  67. package/dist/cjs/v2/Menu.cjs.js +3 -3
  68. package/dist/cjs/v2/constants.cjs.js +2 -2
  69. package/dist/cjs/v2/index.cjs.js +6 -6
  70. package/dist/cjs/v2/utils.cjs.js +3 -3
  71. package/dist/constants.js +2 -2
  72. package/dist/editor-stats.html +1 -1
  73. package/dist/index.js +6 -6
  74. package/dist/utils.js +3 -3
  75. package/dist/v2/Attachments.js +3 -3
  76. package/dist/v2/Editor.js +5 -5
  77. package/dist/v2/EditorContent.js +3 -3
  78. package/dist/v2/FormikEditor.js +5 -5
  79. package/dist/v2/Menu.js +3 -3
  80. package/dist/v2/constants.js +2 -2
  81. package/dist/v2/index.js +6 -6
  82. package/dist/v2/utils.js +3 -3
  83. package/package.json +2 -1
  84. package/dist/chunk-DrHVV_g1.js.map +0 -1
  85. package/dist/cjs/chunk-Bmjmsp-E.cjs.js.map +0 -1
@@ -8,8 +8,8 @@ import Button from '@bigbinary/neetoui/Button';
8
8
  import { isEmpty } from 'ramda';
9
9
  import { D as DocViewer, a as DocViewerRenderers } from './chunk-CeoqieEt.js';
10
10
  import { useTranslation, Trans } from 'react-i18next';
11
- import { c as convertToFileSize } from './chunk-CK_Ss-J5.js';
12
- import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-y5pmJStT.js';
11
+ import { c as convertToFileSize } from './chunk-eOIMt7jp.js';
12
+ import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-CHmdEEC5.js';
13
13
  import { jsxs, jsx } from 'react/jsx-runtime';
14
14
  import './chunk-BFTU3MAI.js';
15
15
  import '@babel/runtime/helpers/toConsumableArray';
@@ -41,7 +41,7 @@ import '@bigbinary/neeto-icons/AspectRatio43';
41
41
  import '@bigbinary/neeto-icons/AspectRatio32';
42
42
  import '@bigbinary/neeto-commons-frontend/initializers';
43
43
  import 'yup';
44
- import './chunk-DrHVV_g1.js';
44
+ import './chunk-CyfiHLWx.js';
45
45
  import 'classnames';
46
46
  import './chunk-C2dztUxs.js';
47
47
  import '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
@@ -203,4 +203,4 @@ var Preview = function Preview(_ref) {
203
203
  };
204
204
 
205
205
  export { Preview as default };
206
- //# sourceMappingURL=chunk-CO-Yfs5R.js.map
206
+ //# sourceMappingURL=chunk-NDmv6peW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-CO-Yfs5R.js","sources":["../app/javascript/src/components/Attachments/Preview.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { findIndexBy, truncate } from \"neetocist\";\nimport { Left, Right } from \"neetoicons\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport DocViewer, { DocViewerRenderers } from \"react-doc-viewer\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nimport { ATTACHMENTS_PREVIEW_DATA_CY } from \"./constants\";\nimport { checkPreviewAvailability, downloadFile } from \"./utils\";\n\nconst Preview = ({\n onClose,\n attachments,\n selectedAttachment,\n setSelectedAttachment,\n setDidFetchPreviewBundle,\n}) => {\n const { t } = useTranslation();\n const downloadRef = useRef(null);\n\n const {\n filename = \"\",\n contentType = null,\n url = \"\",\n signedId = \"\",\n size = undefined,\n previewUrl = null,\n } = selectedAttachment;\n\n const attachmentIndex = findIndexBy({ signedId }, attachments);\n\n const handleRightArrowClick = () => {\n const newIndex = (attachmentIndex + 1) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleLeftArrowClick = () => {\n const newIndex =\n (attachmentIndex - 1 + attachments.length) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleKeyDown = event => {\n if (event.key === \"ArrowRight\") {\n handleRightArrowClick();\n } else if (event.key === \"ArrowLeft\") {\n handleLeftArrowClick();\n }\n };\n\n useEffect(() => {\n setDidFetchPreviewBundle(true);\n }, []);\n\n const handleDownload = () => downloadFile(url, filename);\n\n const setPreview = () => {\n const isPreviewAvailable = checkPreviewAvailability(\n contentType,\n previewUrl\n );\n\n if (isPreviewAvailable) {\n switch (contentType.split(\"/\")[0]) {\n case \"image\":\n return (\n <img\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={previewUrl || url}\n />\n );\n case \"video\":\n return (\n <video\n controls\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n />\n );\n case \"application\":\n case \"text\":\n if (contentType === \"application/pdf\") {\n return (\n <iframe\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n width=\"100%\"\n />\n );\n }\n\n return (\n <DocViewer\n className=\"ne-attachments-preview__body-docviewer\"\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n documents={[{ uri: url, fileType: contentType }]}\n pluginRenderers={DocViewerRenderers}\n config={{\n header: { disableHeader: true, disableFileName: true },\n }}\n />\n );\n default:\n return null;\n }\n }\n\n return (\n <Typography>\n <Trans\n i18nKey=\"neetoEditor.attachments.noPreview\"\n components={{\n span: (\n <span\n className=\"ne-attachments-preview__body-download\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n );\n };\n\n return (\n <Modal\n {...{ onClose }}\n className=\"ne-attachments-preview\"\n isOpen={!isEmpty(selectedAttachment)}\n size=\"fullScreen\"\n onKeyDown={handleKeyDown}\n >\n <Modal.Header className=\"ne-attachments-preview__header\">\n <div className=\"ne-attachments-preview__header__fileinfo\">\n <Typography style=\"h4\">{truncate(filename, 25)}</Typography>\n <Typography style=\"body2\">{convertToFileSize(size)}</Typography>\n </div>\n <Button\n data-testid=\"download-preview-button\"\n label={t(\"neetoEditor.common.download\")}\n ref={downloadRef}\n style=\"link\"\n onClick={handleDownload}\n />\n </Modal.Header>\n <Modal.Body className=\"ne-attachments-preview__body\">\n <Button\n className=\"ne-attachments-preview__body-left\"\n icon={Left}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleLeftArrowClick}\n />\n <Button\n className=\"ne-attachments-preview__body-right\"\n icon={Right}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleRightArrowClick}\n />\n {setPreview()}\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default Preview;\n"],"names":["Preview","_ref","onClose","attachments","selectedAttachment","setSelectedAttachment","setDidFetchPreviewBundle","_useTranslation","useTranslation","t","downloadRef","useRef","_selectedAttachment$f","filename","_selectedAttachment$c","contentType","_selectedAttachment$u","url","_selectedAttachment$s","signedId","_selectedAttachment$s2","size","undefined","_selectedAttachment$p","previewUrl","attachmentIndex","findIndexBy","handleRightArrowClick","_downloadRef$current","newIndex","length","current","focus","handleLeftArrowClick","_downloadRef$current2","handleKeyDown","event","key","useEffect","handleDownload","downloadFile","setPreview","isPreviewAvailable","checkPreviewAvailability","split","_jsx","ATTACHMENTS_PREVIEW_DATA_CY","src","controls","width","DocViewer","className","documents","uri","fileType","pluginRenderers","DocViewerRenderers","config","header","disableHeader","disableFileName","Typography","children","Trans","i18nKey","components","span","onClick","_jsxs","Modal","isOpen","isEmpty","onKeyDown","Header","style","truncate","convertToFileSize","Button","label","ref","Body","icon","Left","Right"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-NDmv6peW.js","sources":["../app/javascript/src/components/Attachments/Preview.jsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport { findIndexBy, truncate } from \"neetocist\";\nimport { Left, Right } from \"neetoicons\";\nimport { Modal, Typography, Button } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport DocViewer, { DocViewerRenderers } from \"react-doc-viewer\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nimport { ATTACHMENTS_PREVIEW_DATA_CY } from \"./constants\";\nimport { checkPreviewAvailability, downloadFile } from \"./utils\";\n\nconst Preview = ({\n onClose,\n attachments,\n selectedAttachment,\n setSelectedAttachment,\n setDidFetchPreviewBundle,\n}) => {\n const { t } = useTranslation();\n const downloadRef = useRef(null);\n\n const {\n filename = \"\",\n contentType = null,\n url = \"\",\n signedId = \"\",\n size = undefined,\n previewUrl = null,\n } = selectedAttachment;\n\n const attachmentIndex = findIndexBy({ signedId }, attachments);\n\n const handleRightArrowClick = () => {\n const newIndex = (attachmentIndex + 1) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleLeftArrowClick = () => {\n const newIndex =\n (attachmentIndex - 1 + attachments.length) % attachments.length;\n setSelectedAttachment(attachments[newIndex]);\n downloadRef.current?.focus();\n };\n\n const handleKeyDown = event => {\n if (event.key === \"ArrowRight\") {\n handleRightArrowClick();\n } else if (event.key === \"ArrowLeft\") {\n handleLeftArrowClick();\n }\n };\n\n useEffect(() => {\n setDidFetchPreviewBundle(true);\n }, []);\n\n const handleDownload = () => downloadFile(url, filename);\n\n const setPreview = () => {\n const isPreviewAvailable = checkPreviewAvailability(\n contentType,\n previewUrl\n );\n\n if (isPreviewAvailable) {\n switch (contentType.split(\"/\")[0]) {\n case \"image\":\n return (\n <img\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={previewUrl || url}\n />\n );\n case \"video\":\n return (\n <video\n controls\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n />\n );\n case \"application\":\n case \"text\":\n if (contentType === \"application/pdf\") {\n return (\n <iframe\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n src={url}\n width=\"100%\"\n />\n );\n }\n\n return (\n <DocViewer\n className=\"ne-attachments-preview__body-docviewer\"\n data-testid={ATTACHMENTS_PREVIEW_DATA_CY}\n documents={[{ uri: url, fileType: contentType }]}\n pluginRenderers={DocViewerRenderers}\n config={{\n header: { disableHeader: true, disableFileName: true },\n }}\n />\n );\n default:\n return null;\n }\n }\n\n return (\n <Typography>\n <Trans\n i18nKey=\"neetoEditor.attachments.noPreview\"\n components={{\n span: (\n <span\n className=\"ne-attachments-preview__body-download\"\n onClick={handleDownload}\n />\n ),\n }}\n />\n </Typography>\n );\n };\n\n return (\n <Modal\n {...{ onClose }}\n className=\"ne-attachments-preview\"\n isOpen={!isEmpty(selectedAttachment)}\n size=\"fullScreen\"\n onKeyDown={handleKeyDown}\n >\n <Modal.Header className=\"ne-attachments-preview__header\">\n <div className=\"ne-attachments-preview__header__fileinfo\">\n <Typography style=\"h4\">{truncate(filename, 25)}</Typography>\n <Typography style=\"body2\">{convertToFileSize(size)}</Typography>\n </div>\n <Button\n data-testid=\"download-preview-button\"\n label={t(\"neetoEditor.common.download\")}\n ref={downloadRef}\n style=\"link\"\n onClick={handleDownload}\n />\n </Modal.Header>\n <Modal.Body className=\"ne-attachments-preview__body\">\n <Button\n className=\"ne-attachments-preview__body-left\"\n icon={Left}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleLeftArrowClick}\n />\n <Button\n className=\"ne-attachments-preview__body-right\"\n icon={Right}\n size=\"large\"\n style=\"tertiary\"\n onClick={handleRightArrowClick}\n />\n {setPreview()}\n </Modal.Body>\n </Modal>\n );\n};\n\nexport default Preview;\n"],"names":["Preview","_ref","onClose","attachments","selectedAttachment","setSelectedAttachment","setDidFetchPreviewBundle","_useTranslation","useTranslation","t","downloadRef","useRef","_selectedAttachment$f","filename","_selectedAttachment$c","contentType","_selectedAttachment$u","url","_selectedAttachment$s","signedId","_selectedAttachment$s2","size","undefined","_selectedAttachment$p","previewUrl","attachmentIndex","findIndexBy","handleRightArrowClick","_downloadRef$current","newIndex","length","current","focus","handleLeftArrowClick","_downloadRef$current2","handleKeyDown","event","key","useEffect","handleDownload","downloadFile","setPreview","isPreviewAvailable","checkPreviewAvailability","split","_jsx","ATTACHMENTS_PREVIEW_DATA_CY","src","controls","width","DocViewer","className","documents","uri","fileType","pluginRenderers","DocViewerRenderers","config","header","disableHeader","disableFileName","Typography","children","Trans","i18nKey","components","span","onClick","_jsxs","Modal","isOpen","isEmpty","onKeyDown","Header","style","truncate","convertToFileSize","Button","label","ref","Body","icon","Left","Right"],"mappings":"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"}
@@ -26,7 +26,7 @@ import AspectRatio43 from '@bigbinary/neeto-icons/AspectRatio43';
26
26
  import AspectRatio32 from '@bigbinary/neeto-icons/AspectRatio32';
27
27
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
28
28
  import * as yup from 'yup';
29
- import { U as URL_REGEXP, D as DIRECT_UPLOAD_ENDPOINT } from './chunk-DrHVV_g1.js';
29
+ import { U as URL_REGEXP, D as DIRECT_UPLOAD_ENDPOINT } from './chunk-CyfiHLWx.js';
30
30
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
31
31
  import { jsx } from 'react/jsx-runtime';
32
32
 
@@ -422,4 +422,4 @@ var File = function File(_ref) {
422
422
  };
423
423
 
424
424
  export { ALLOWED_IMAGE_TYPES as A, DEFAULT_IMAGE_UPLOAD_CONFIG as D, File as F, VIDEO_EMBED_FORM_VALIDATION_SCHEMA as V, ALLOWED_VIDEO_TYPES as a, DEFAULT_VIDEO_UPLOAD_CONFIG as b, convertToFileSize as c, buildImageOptions as d, DEFAULT_ASPECT_RATIO as e, getTabs as g, useFileUploader as u };
425
- //# sourceMappingURL=chunk-CK_Ss-J5.js.map
425
+ //# sourceMappingURL=chunk-eOIMt7jp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-CK_Ss-J5.js","sources":["../app/javascript/src/components/Editor/MediaUploader/constants.js","../app/javascript/src/components/Editor/MediaUploader/utils.js","../app/javascript/src/hooks/utils/fileUploader.js","../app/javascript/src/hooks/useFileUploader.js","../app/javascript/src/components/Common/FileIcon.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nimport { DIRECT_UPLOAD_ENDPOINT, URL_REGEXP } from \"src/common/constants\";\n\nconst MAX_VIDEO_SIZE_IN_MB = 100;\n\nconst maxVideoSizeInMb = globalProps.directUploadsMaxFileSizeInMb\n ? Math.min(MAX_VIDEO_SIZE_IN_MB, globalProps.directUploadsMaxFileSizeInMb)\n : MAX_VIDEO_SIZE_IN_MB;\n\nexport const FILE_SIZE_UNITS = [\"B\", \"KB\", \"MB\", \"GB\"];\n\nexport const ALLOWED_IMAGE_TYPES = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\nexport const ALLOWED_VIDEO_TYPES = [\".mp4\", \".mov\", \".avi\", \".mkv\"];\n\nexport const DEFAULT_IMAGE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_IMAGE_TYPES,\n },\n};\n\nexport const DEFAULT_VIDEO_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: maxVideoSizeInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_VIDEO_TYPES,\n },\n};\n\nexport const VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup.object().shape({\n url: yup\n .string()\n .required(t(\"neetoEditor.error.fieldRequired\"))\n .matches(URL_REGEXP, t(\"neetoEditor.error.invalidUrl\")),\n});\n\nexport const DEFAULT_ASPECT_RATIO = \"16/9\";\n","import { t } from \"i18next\";\nimport {\n LeftAlign,\n CenterAlign,\n RightAlign,\n Delete,\n CustomSize,\n BorderDisable,\n BorderEnable,\n AspectRatio11,\n AspectRatio169,\n AspectRatio916,\n AspectRatio43,\n AspectRatio32,\n} from \"neetoicons\";\n\nimport { FILE_SIZE_UNITS } from \"./constants\";\n\nexport const convertToFileSize = (size = 10 * 1024 * 1024) => {\n let fileSize = size;\n let i = 0;\n while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {\n fileSize /= 1024;\n ++i;\n }\n\n return `${fileSize.toFixed(1)} ${FILE_SIZE_UNITS[i]}`;\n};\n\nexport const buildImageOptions = (border = true, showAspectRatio = false) => {\n const options = [\n {\n Icon: LeftAlign,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: CenterAlign,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: RightAlign,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: CustomSize,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: AspectRatio169 },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: AspectRatio916 },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: AspectRatio43 },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: AspectRatio32 },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: AspectRatio11 },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? BorderDisable : BorderEnable,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Delete,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\n\nexport const getTabs = mediaUploader => {\n if (mediaUploader.video) {\n return [\n { title: \"Upload\", key: \"local\" },\n { title: \"Embed\", key: \"embed\" },\n ];\n }\n\n return [];\n};\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nconst getFileExtension = filename => {\n if (!filename) return \"\";\n const parts = filename.split(\".\");\n\n return parts.length > 1 ? `.${parts.pop()}` : \"\";\n};\n\nconst showWarningToastr = ({\n selectedFiles,\n initialFiles,\n config,\n largeFilesCount,\n unSupportedFilesCount,\n}) => {\n const { maxNumberOfFiles, maxFileSize } = config.restrictions;\n\n if (unSupportedFilesCount > 0 || largeFilesCount > 0) {\n if (unSupportedFilesCount > 0) {\n Toastr.error(t(\"neetoEditor.error.fileNotAllowed\"));\n }\n\n if (largeFilesCount > 0) {\n Toastr.error(\n t(\"neetoEditor.error.fileIsTooLarge\", {\n maxFileSize: convertToFileSize(maxFileSize),\n })\n );\n }\n } else if (selectedFiles.length < initialFiles.length) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n }\n};\n\nexport const shouldAddFile = config => file => {\n const { maxFileSize, allowedFileTypes } = config.restrictions;\n\n if (isPresent(maxFileSize) && file.size > maxFileSize) {\n return { canAdd: false };\n }\n\n if (isPresent(allowedFileTypes)) {\n const fileExtension = getFileExtension(file.name);\n const mimeType = file.type;\n\n const extensionAllowed = allowedFileTypes.includes(fileExtension);\n const mimeAllowed = allowedFileTypes.includes(mimeType);\n\n const canAdd = extensionAllowed || mimeAllowed;\n\n return { canAdd, isUnsupportedFile: !canAdd };\n }\n\n return { canAdd: true };\n};\n\nexport const selectFiles = ({ previousAttachmentsCount, config, files }) => {\n let addedFilesCount = 0,\n largeFilesCount = 0,\n unSupportedFilesCount = 0;\n const fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;\n const { maxNumberOfFiles = fallbackMaxNumberOfFiles } = config.restrictions;\n const canAddFile = shouldAddFile(config);\n\n const remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;\n\n if (remainingAttachments <= 0) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n\n return [];\n }\n\n const selectedFiles = files.filter(file => {\n const { canAdd, isUnsupportedFile } = canAddFile(file);\n\n if (canAdd && addedFilesCount + 1 <= remainingAttachments) {\n addedFilesCount += 1;\n\n return true;\n }\n\n if (isUnsupportedFile) unSupportedFilesCount += 1;\n else if (!canAdd) largeFilesCount += 1;\n\n return false;\n });\n\n showWarningToastr({\n selectedFiles,\n initialFiles: files,\n config,\n unSupportedFilesCount,\n largeFilesCount,\n });\n\n return selectedFiles;\n};\n","// eslint-disable-next-line @bigbinary/neeto/use-snake-case-for-api-connector-filename\nimport { useRef } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis,\nimport axios from \"axios\";\nimport { noop, hyphenate, isNot, isNotPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFileUploadStore from \"src/stores/useFileUploadStore\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { FILE_UPLOAD_STATUS } from \"./constants/fileUploader\";\nimport { getRandomString } from \"./utils\";\nimport { selectFiles } from \"./utils/fileUploader\";\n\nlet uploadControllers = {};\n\nconst useFileUploader = ({\n config,\n attachments: previousAttachments = [],\n setIsUploadingOnHost = noop,\n}) => {\n const contextIdRef = useRef(getRandomString());\n const { t } = useTranslation();\n\n const { current: contextId } = contextIdRef;\n const {\n addFiles: addFilesToStore,\n getNextQueuedFile,\n updateFileStatus,\n removeFilesFromQueue,\n setIsUploading,\n updateFileUploadProgress,\n removeFile,\n } = useFileUploadStore.pick();\n const { files = [], isUploading } = useFileUploadStore.pick([contextId]);\n\n const handleUploadProgress = (xhr, file) => {\n if (!xhr.event.lengthComputable) return;\n const bytesUploaded = xhr.loaded;\n const bytesTotal = xhr.total;\n const progress = Math.round((bytesUploaded / bytesTotal) * 100);\n updateFileUploadProgress(contextId, file.id, progress);\n };\n\n const uploadFile = async file => {\n const upload = new DirectUpload({\n file: file.data,\n url: config.directUploadEndpoint,\n progress: xhr => handleUploadProgress(xhr, file),\n });\n\n uploadControllers[file.id] = upload;\n\n try {\n const { data = {}, ...response } = await upload.create();\n updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);\n\n return {\n id: file.id,\n filename: file.filename,\n signedId: data.signed_id ?? response.signed_id,\n url: data.blob_url ?? response.blob_url,\n contentType: data.content_type ?? response.content_type,\n };\n } catch (error) {\n if (!axios.isCancel(error)) {\n Toastr.error(t(\"neetoEditor.error.uploadFileFailed\"));\n }\n // eslint-disable-next-line no-console\n console.error(\"Attachment upload failed\", error);\n removeFile(contextId, file.id);\n\n return null;\n }\n };\n\n const handleUploadFiles = async () => {\n const queuedFile = getNextQueuedFile(contextId);\n\n if (isNotPresent(queuedFile)) {\n setIsUploading(contextId, false);\n setIsUploadingOnHost(false);\n\n return [];\n }\n\n updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);\n\n const [uploadedFile, remainingUploadedFiles] = await Promise.all([\n uploadFile(queuedFile),\n handleUploadFiles(),\n ]);\n\n const uploadedFiles = [uploadedFile, ...remainingUploadedFiles];\n const uploadedFileIds = pluck(\"id\", uploadedFiles);\n removeFilesFromQueue(contextId, uploadedFileIds);\n uploadControllers = omit(uploadedFileIds, uploadControllers);\n\n return uploadedFiles.filter(isNot(null));\n };\n\n const uploadFiles = () => {\n setIsUploading(contextId, true);\n setIsUploadingOnHost(true);\n\n return handleUploadFiles();\n };\n\n const addFiles = addedFiles => {\n const selectedFiles = selectFiles({\n previousAttachmentsCount: previousAttachments.length,\n config,\n files: Array.from(addedFiles),\n }).map(file => ({\n id: hyphenate(`${file.name.toLowerCase()}-${Date.now()}`),\n data: file,\n filename: file.name,\n signedId: \"awaiting\",\n url: \"\",\n type: file.type,\n status: FILE_UPLOAD_STATUS.QUEUED,\n }));\n\n addFilesToStore(contextId, selectedFiles);\n };\n\n const cancelUpload = fileId => {\n uploadControllers[fileId]?.abort?.();\n removeFile(contextId, fileId);\n };\n\n return {\n addFiles,\n uploadFiles,\n queuedFiles: files,\n cancelUpload,\n isUploading,\n };\n};\n\nexport default useFileUploader;\n","import { FileIcon, defaultStyles } from \"react-file-icon\";\n\nconst File = ({ fileName, className }) => {\n const extension = fileName.match(/([^.]+)$/) & [1];\n\n return (\n <div {...{ className }}>\n <FileIcon\n {...{ extension }}\n labelColor=\"#4558f9\"\n {...defaultStyles[extension]}\n />\n </div>\n );\n};\n\nexport default File;\n"],"names":["MAX_VIDEO_SIZE_IN_MB","maxVideoSizeInMb","globalProps","directUploadsMaxFileSizeInMb","Math","min","FILE_SIZE_UNITS","ALLOWED_IMAGE_TYPES","ALLOWED_VIDEO_TYPES","DEFAULT_IMAGE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxNumberOfFiles","maxFileSize","endUserUploadedFileSizeLimitInMb","allowedFileTypes","DEFAULT_VIDEO_UPLOAD_CONFIG","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","yup","object","shape","url","string","required","t","matches","URL_REGEXP","DEFAULT_ASPECT_RATIO","convertToFileSize","size","arguments","length","undefined","fileSize","i","concat","toFixed","buildImageOptions","border","showAspectRatio","options","Icon","LeftAlign","type","alignPos","optionName","CenterAlign","RightAlign","push","CustomSize","items","ratio","tooltipLabel","icon","AspectRatio169","AspectRatio916","AspectRatio43","AspectRatio32","AspectRatio11","BorderDisable","BorderEnable","borderToggle","Delete","getTabs","mediaUploader","video","title","key","getFileExtension","filename","parts","split","pop","showWarningToastr","_ref","selectedFiles","initialFiles","config","largeFilesCount","unSupportedFilesCount","_config$restrictions","Toastr","error","warning","entity","shouldAddFile","file","_config$restrictions2","isPresent","canAdd","fileExtension","name","mimeType","extensionAllowed","includes","mimeAllowed","isUnsupportedFile","selectFiles","_ref2","previousAttachmentsCount","files","addedFilesCount","fallbackMaxNumberOfFiles","_config$restrictions$","canAddFile","remainingAttachments","filter","_canAddFile","uploadControllers","useFileUploader","_ref$attachments","attachments","previousAttachments","_ref$setIsUploadingOn","setIsUploadingOnHost","noop","contextIdRef","useRef","getRandomString","_useTranslation","useTranslation","contextId","current","_useFileUploadStore","useFileUploadStore","store","addFiles","getNextQueuedFile","updateFileStatus","removeFilesFromQueue","setIsUploading","updateFileUploadProgress","removeFile","shallow","addFilesToStore","_useFileUploadStore2","_store$contextId","_store$contextId2","isUploading","_useFileUploadStore2$","handleUploadProgress","xhr","event","lengthComputable","bytesUploaded","loaded","bytesTotal","total","progress","round","id","uploadFile","_asyncToGenerator","_regeneratorRuntime","mark","_callee","upload","_data$signed_id","_data$blob_url","_data$content_type","_yield$upload$create","_yield$upload$create$","data","response","wrap","_callee$","_context","prev","next","DirectUpload","create","sent","_objectWithoutProperties","_excluded","FILE_UPLOAD_STATUS","UPLOADED","abrupt","signedId","signed_id","blob_url","contentType","content_type","t0","axios","isCancel","console","stop","_x","apply","handleUploadFiles","_ref3","_callee2","queuedFile","_yield$Promise$all","_yield$Promise$all2","uploadedFile","remainingUploadedFiles","uploadedFiles","uploadedFileIds","_callee2$","_context2","isNotPresent","UPLOADING","Promise","all","_slicedToArray","_toConsumableArray","pluck","omit","isNot","uploadFiles","addedFiles","Array","from","map","hyphenate","toLowerCase","Date","now","status","QUEUED","cancelUpload","fileId","_uploadControllers$fi","_uploadControllers$fi2","abort","call","queuedFiles","File","fileName","className","extension","match","_jsx","children","FileIcon","_objectSpread","labelColor","defaultStyles"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-eOIMt7jp.js","sources":["../app/javascript/src/components/Editor/MediaUploader/constants.js","../app/javascript/src/components/Editor/MediaUploader/utils.js","../app/javascript/src/hooks/utils/fileUploader.js","../app/javascript/src/hooks/useFileUploader.js","../app/javascript/src/components/Common/FileIcon.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nimport { DIRECT_UPLOAD_ENDPOINT, URL_REGEXP } from \"src/common/constants\";\n\nconst MAX_VIDEO_SIZE_IN_MB = 100;\n\nconst maxVideoSizeInMb = globalProps.directUploadsMaxFileSizeInMb\n ? Math.min(MAX_VIDEO_SIZE_IN_MB, globalProps.directUploadsMaxFileSizeInMb)\n : MAX_VIDEO_SIZE_IN_MB;\n\nexport const FILE_SIZE_UNITS = [\"B\", \"KB\", \"MB\", \"GB\"];\n\nexport const ALLOWED_IMAGE_TYPES = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\nexport const ALLOWED_VIDEO_TYPES = [\".mp4\", \".mov\", \".avi\", \".mkv\"];\n\nexport const DEFAULT_IMAGE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_IMAGE_TYPES,\n },\n};\n\nexport const DEFAULT_VIDEO_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: maxVideoSizeInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_VIDEO_TYPES,\n },\n};\n\nexport const VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup.object().shape({\n url: yup\n .string()\n .required(t(\"neetoEditor.error.fieldRequired\"))\n .matches(URL_REGEXP, t(\"neetoEditor.error.invalidUrl\")),\n});\n\nexport const DEFAULT_ASPECT_RATIO = \"16/9\";\n","import { t } from \"i18next\";\nimport {\n LeftAlign,\n CenterAlign,\n RightAlign,\n Delete,\n CustomSize,\n BorderDisable,\n BorderEnable,\n AspectRatio11,\n AspectRatio169,\n AspectRatio916,\n AspectRatio43,\n AspectRatio32,\n} from \"neetoicons\";\n\nimport { FILE_SIZE_UNITS } from \"./constants\";\n\nexport const convertToFileSize = (size = 10 * 1024 * 1024) => {\n let fileSize = size;\n let i = 0;\n while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {\n fileSize /= 1024;\n ++i;\n }\n\n return `${fileSize.toFixed(1)} ${FILE_SIZE_UNITS[i]}`;\n};\n\nexport const buildImageOptions = (border = true, showAspectRatio = false) => {\n const options = [\n {\n Icon: LeftAlign,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: CenterAlign,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: RightAlign,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: CustomSize,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: AspectRatio169 },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: AspectRatio916 },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: AspectRatio43 },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: AspectRatio32 },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: AspectRatio11 },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? BorderDisable : BorderEnable,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Delete,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\n\nexport const getTabs = mediaUploader => {\n if (mediaUploader.video) {\n return [\n { title: \"Upload\", key: \"local\" },\n { title: \"Embed\", key: \"embed\" },\n ];\n }\n\n return [];\n};\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nconst getFileExtension = filename => {\n if (!filename) return \"\";\n const parts = filename.split(\".\");\n\n return parts.length > 1 ? `.${parts.pop()}` : \"\";\n};\n\nconst showWarningToastr = ({\n selectedFiles,\n initialFiles,\n config,\n largeFilesCount,\n unSupportedFilesCount,\n}) => {\n const { maxNumberOfFiles, maxFileSize } = config.restrictions;\n\n if (unSupportedFilesCount > 0 || largeFilesCount > 0) {\n if (unSupportedFilesCount > 0) {\n Toastr.error(t(\"neetoEditor.error.fileNotAllowed\"));\n }\n\n if (largeFilesCount > 0) {\n Toastr.error(\n t(\"neetoEditor.error.fileIsTooLarge\", {\n maxFileSize: convertToFileSize(maxFileSize),\n })\n );\n }\n } else if (selectedFiles.length < initialFiles.length) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n }\n};\n\nexport const shouldAddFile = config => file => {\n const { maxFileSize, allowedFileTypes } = config.restrictions;\n\n if (isPresent(maxFileSize) && file.size > maxFileSize) {\n return { canAdd: false };\n }\n\n if (isPresent(allowedFileTypes)) {\n const fileExtension = getFileExtension(file.name);\n const mimeType = file.type;\n\n const extensionAllowed = allowedFileTypes.includes(fileExtension);\n const mimeAllowed = allowedFileTypes.includes(mimeType);\n\n const canAdd = extensionAllowed || mimeAllowed;\n\n return { canAdd, isUnsupportedFile: !canAdd };\n }\n\n return { canAdd: true };\n};\n\nexport const selectFiles = ({ previousAttachmentsCount, config, files }) => {\n let addedFilesCount = 0,\n largeFilesCount = 0,\n unSupportedFilesCount = 0;\n const fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;\n const { maxNumberOfFiles = fallbackMaxNumberOfFiles } = config.restrictions;\n const canAddFile = shouldAddFile(config);\n\n const remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;\n\n if (remainingAttachments <= 0) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n\n return [];\n }\n\n const selectedFiles = files.filter(file => {\n const { canAdd, isUnsupportedFile } = canAddFile(file);\n\n if (canAdd && addedFilesCount + 1 <= remainingAttachments) {\n addedFilesCount += 1;\n\n return true;\n }\n\n if (isUnsupportedFile) unSupportedFilesCount += 1;\n else if (!canAdd) largeFilesCount += 1;\n\n return false;\n });\n\n showWarningToastr({\n selectedFiles,\n initialFiles: files,\n config,\n unSupportedFilesCount,\n largeFilesCount,\n });\n\n return selectedFiles;\n};\n","// eslint-disable-next-line @bigbinary/neeto/use-snake-case-for-api-connector-filename\nimport { useRef } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis,\nimport axios from \"axios\";\nimport { noop, hyphenate, isNot, isNotPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFileUploadStore from \"src/stores/useFileUploadStore\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { FILE_UPLOAD_STATUS } from \"./constants/fileUploader\";\nimport { getRandomString } from \"./utils\";\nimport { selectFiles } from \"./utils/fileUploader\";\n\nlet uploadControllers = {};\n\nconst useFileUploader = ({\n config,\n attachments: previousAttachments = [],\n setIsUploadingOnHost = noop,\n}) => {\n const contextIdRef = useRef(getRandomString());\n const { t } = useTranslation();\n\n const { current: contextId } = contextIdRef;\n const {\n addFiles: addFilesToStore,\n getNextQueuedFile,\n updateFileStatus,\n removeFilesFromQueue,\n setIsUploading,\n updateFileUploadProgress,\n removeFile,\n } = useFileUploadStore.pick();\n const { files = [], isUploading } = useFileUploadStore.pick([contextId]);\n\n const handleUploadProgress = (xhr, file) => {\n if (!xhr.event.lengthComputable) return;\n const bytesUploaded = xhr.loaded;\n const bytesTotal = xhr.total;\n const progress = Math.round((bytesUploaded / bytesTotal) * 100);\n updateFileUploadProgress(contextId, file.id, progress);\n };\n\n const uploadFile = async file => {\n const upload = new DirectUpload({\n file: file.data,\n url: config.directUploadEndpoint,\n progress: xhr => handleUploadProgress(xhr, file),\n });\n\n uploadControllers[file.id] = upload;\n\n try {\n const { data = {}, ...response } = await upload.create();\n updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);\n\n return {\n id: file.id,\n filename: file.filename,\n signedId: data.signed_id ?? response.signed_id,\n url: data.blob_url ?? response.blob_url,\n contentType: data.content_type ?? response.content_type,\n };\n } catch (error) {\n if (!axios.isCancel(error)) {\n Toastr.error(t(\"neetoEditor.error.uploadFileFailed\"));\n }\n // eslint-disable-next-line no-console\n console.error(\"Attachment upload failed\", error);\n removeFile(contextId, file.id);\n\n return null;\n }\n };\n\n const handleUploadFiles = async () => {\n const queuedFile = getNextQueuedFile(contextId);\n\n if (isNotPresent(queuedFile)) {\n setIsUploading(contextId, false);\n setIsUploadingOnHost(false);\n\n return [];\n }\n\n updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);\n\n const [uploadedFile, remainingUploadedFiles] = await Promise.all([\n uploadFile(queuedFile),\n handleUploadFiles(),\n ]);\n\n const uploadedFiles = [uploadedFile, ...remainingUploadedFiles];\n const uploadedFileIds = pluck(\"id\", uploadedFiles);\n removeFilesFromQueue(contextId, uploadedFileIds);\n uploadControllers = omit(uploadedFileIds, uploadControllers);\n\n return uploadedFiles.filter(isNot(null));\n };\n\n const uploadFiles = () => {\n setIsUploading(contextId, true);\n setIsUploadingOnHost(true);\n\n return handleUploadFiles();\n };\n\n const addFiles = addedFiles => {\n const selectedFiles = selectFiles({\n previousAttachmentsCount: previousAttachments.length,\n config,\n files: Array.from(addedFiles),\n }).map(file => ({\n id: hyphenate(`${file.name.toLowerCase()}-${Date.now()}`),\n data: file,\n filename: file.name,\n signedId: \"awaiting\",\n url: \"\",\n type: file.type,\n status: FILE_UPLOAD_STATUS.QUEUED,\n }));\n\n addFilesToStore(contextId, selectedFiles);\n };\n\n const cancelUpload = fileId => {\n uploadControllers[fileId]?.abort?.();\n removeFile(contextId, fileId);\n };\n\n return {\n addFiles,\n uploadFiles,\n queuedFiles: files,\n cancelUpload,\n isUploading,\n };\n};\n\nexport default useFileUploader;\n","import { FileIcon, defaultStyles } from \"react-file-icon\";\n\nconst File = ({ fileName, className }) => {\n const extension = fileName.match(/([^.]+)$/) & [1];\n\n return (\n <div {...{ className }}>\n <FileIcon\n {...{ extension }}\n labelColor=\"#4558f9\"\n {...defaultStyles[extension]}\n />\n </div>\n );\n};\n\nexport default File;\n"],"names":["MAX_VIDEO_SIZE_IN_MB","maxVideoSizeInMb","globalProps","directUploadsMaxFileSizeInMb","Math","min","FILE_SIZE_UNITS","ALLOWED_IMAGE_TYPES","ALLOWED_VIDEO_TYPES","DEFAULT_IMAGE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxNumberOfFiles","maxFileSize","endUserUploadedFileSizeLimitInMb","allowedFileTypes","DEFAULT_VIDEO_UPLOAD_CONFIG","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","yup","object","shape","url","string","required","t","matches","URL_REGEXP","DEFAULT_ASPECT_RATIO","convertToFileSize","size","arguments","length","undefined","fileSize","i","concat","toFixed","buildImageOptions","border","showAspectRatio","options","Icon","LeftAlign","type","alignPos","optionName","CenterAlign","RightAlign","push","CustomSize","items","ratio","tooltipLabel","icon","AspectRatio169","AspectRatio916","AspectRatio43","AspectRatio32","AspectRatio11","BorderDisable","BorderEnable","borderToggle","Delete","getTabs","mediaUploader","video","title","key","getFileExtension","filename","parts","split","pop","showWarningToastr","_ref","selectedFiles","initialFiles","config","largeFilesCount","unSupportedFilesCount","_config$restrictions","Toastr","error","warning","entity","shouldAddFile","file","_config$restrictions2","isPresent","canAdd","fileExtension","name","mimeType","extensionAllowed","includes","mimeAllowed","isUnsupportedFile","selectFiles","_ref2","previousAttachmentsCount","files","addedFilesCount","fallbackMaxNumberOfFiles","_config$restrictions$","canAddFile","remainingAttachments","filter","_canAddFile","uploadControllers","useFileUploader","_ref$attachments","attachments","previousAttachments","_ref$setIsUploadingOn","setIsUploadingOnHost","noop","contextIdRef","useRef","getRandomString","_useTranslation","useTranslation","contextId","current","_useFileUploadStore","useFileUploadStore","store","addFiles","getNextQueuedFile","updateFileStatus","removeFilesFromQueue","setIsUploading","updateFileUploadProgress","removeFile","shallow","addFilesToStore","_useFileUploadStore2","_store$contextId","_store$contextId2","isUploading","_useFileUploadStore2$","handleUploadProgress","xhr","event","lengthComputable","bytesUploaded","loaded","bytesTotal","total","progress","round","id","uploadFile","_asyncToGenerator","_regeneratorRuntime","mark","_callee","upload","_data$signed_id","_data$blob_url","_data$content_type","_yield$upload$create","_yield$upload$create$","data","response","wrap","_callee$","_context","prev","next","DirectUpload","create","sent","_objectWithoutProperties","_excluded","FILE_UPLOAD_STATUS","UPLOADED","abrupt","signedId","signed_id","blob_url","contentType","content_type","t0","axios","isCancel","console","stop","_x","apply","handleUploadFiles","_ref3","_callee2","queuedFile","_yield$Promise$all","_yield$Promise$all2","uploadedFile","remainingUploadedFiles","uploadedFiles","uploadedFileIds","_callee2$","_context2","isNotPresent","UPLOADING","Promise","all","_slicedToArray","_toConsumableArray","pluck","omit","isNot","uploadFiles","addedFiles","Array","from","map","hyphenate","toLowerCase","Date","now","status","QUEUED","cancelUpload","fileId","_uploadControllers$fi","_uploadControllers$fi2","abort","call","queuedFiles","File","fileName","className","extension","match","_jsx","children","FileIcon","_objectSpread","labelColor","defaultStyles"],"mappings":"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"}
@@ -13,8 +13,8 @@ require('@bigbinary/neetoui/Toastr');
13
13
  require('ramda');
14
14
  require('react-i18next');
15
15
  require('./chunk-D3Unocnm.cjs.js');
16
- require('./chunk-cwORbcv3.cjs.js');
17
- var Attachments = require('./chunk-B2NfgecV.cjs.js');
16
+ require('./chunk-CtTb6u9F.cjs.js');
17
+ var Attachments = require('./chunk-CUiAHc9-.cjs.js');
18
18
  require('react/jsx-runtime');
19
19
  require('@bigbinary/neeto-commons-frontend/react-utils');
20
20
  require('zustand');
@@ -39,7 +39,7 @@ require('@bigbinary/neeto-icons/AspectRatio43');
39
39
  require('@bigbinary/neeto-icons/AspectRatio32');
40
40
  require('@bigbinary/neeto-commons-frontend/initializers');
41
41
  require('yup');
42
- require('./chunk-Bmjmsp-E.cjs.js');
42
+ require('./chunk-BNUTjVYA.cjs.js');
43
43
  require('./chunk-B6qYtOJe.cjs.js');
44
44
  require('@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside');
45
45
  require('@bigbinary/neeto-commons-frontend/utils');
@@ -11,17 +11,17 @@ var neetoCist = require('@bigbinary/neeto-cist');
11
11
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
12
12
  var Label = require('@bigbinary/neetoui/Label');
13
13
  var ReactDOM$1 = require('react-dom');
14
- var constants = require('./chunk-Bmjmsp-E.cjs.js');
14
+ var constants = require('./chunk-BNUTjVYA.cjs.js');
15
15
  var ramda = require('ramda');
16
16
  var jsxRuntime = require('react/jsx-runtime');
17
17
  var fuzzySearch = require('./chunk-DxXc6tiG.cjs.js');
18
18
  var injectCss = require('./chunk-B6qYtOJe.cjs.js');
19
- var utils = require('./chunk-D7p10rIr.cjs.js');
19
+ var utils = require('./chunk-BuuzKD6e.cjs.js');
20
20
  var ReactDOM = require('react-dom/server');
21
21
  var common = require('./chunk-BKvkHB8E.cjs.js');
22
- var constants$1 = require('./chunk-CNIzgxEP.cjs.js');
22
+ var constants$1 = require('./chunk-D1iu346F.cjs.js');
23
23
  var Megaphone = require('@bigbinary/neeto-icons/misc/Megaphone');
24
- var Menu$4 = require('./chunk-BlWQNLLE.cjs.js');
24
+ var Menu$4 = require('./chunk-C98N-sIR.cjs.js');
25
25
  var Down = require('@bigbinary/neeto-icons/Down');
26
26
  var Highlight = require('@bigbinary/neeto-icons/Highlight');
27
27
  var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
@@ -49,7 +49,7 @@ var Modal = require('@bigbinary/neetoui/Modal');
49
49
  var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
50
50
  var AspectRatio = require('@bigbinary/neeto-icons/AspectRatio');
51
51
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
52
- var FileIcon = require('./chunk-cwORbcv3.cjs.js');
52
+ var FileIcon = require('./chunk-CtTb6u9F.cjs.js');
53
53
  var Avatar = require('@bigbinary/neetoui/Avatar');
54
54
  var Typography = require('@bigbinary/neetoui/Typography');
55
55
  var Tippy = require('@tippyjs/react');
@@ -94,7 +94,7 @@ var Form = require('@bigbinary/neetoui/formik/Form');
94
94
  var Input$1 = require('@bigbinary/neetoui/formik/Input');
95
95
  var Edit = require('@bigbinary/neeto-icons/Edit');
96
96
  var Articles = require('@bigbinary/neeto-icons/Articles');
97
- var Attachments = require('./chunk-B2NfgecV.cjs.js');
97
+ var Attachments = require('./chunk-CUiAHc9-.cjs.js');
98
98
  require('axios');
99
99
  require('zustand');
100
100
  require('@tanstack/react-query');
@@ -9,10 +9,10 @@ var DOMPurify = require('dompurify');
9
9
  var CopyToClipboardButton = require('@bigbinary/neeto-molecules/CopyToClipboardButton');
10
10
  var ramda = require('ramda');
11
11
  var client = require('react-dom/client');
12
- var constants = require('./chunk-Bmjmsp-E.cjs.js');
12
+ var constants = require('./chunk-BNUTjVYA.cjs.js');
13
13
  var injectCss = require('./chunk-B6qYtOJe.cjs.js');
14
14
  require('@bigbinary/neeto-cist');
15
- require('./chunk-CNIzgxEP.cjs.js');
15
+ require('./chunk-D1iu346F.cjs.js');
16
16
  var index$1 = require('./chunk-CesnwG-V.cjs.js');
17
17
  var common = require('./chunk-BKvkHB8E.cjs.js');
18
18
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
@@ -18,7 +18,7 @@ require('@bigbinary/neeto-commons-frontend/react-utils');
18
18
  require('zustand');
19
19
  require('classnames');
20
20
  require('@bigbinary/neetoui/Label');
21
- require('./chunk-Bmjmsp-E.cjs.js');
21
+ require('./chunk-BNUTjVYA.cjs.js');
22
22
  require('./chunk-DxXc6tiG.cjs.js');
23
23
  require('./chunk-BKvkHB8E.cjs.js');
24
24
  require('./chunk-BJu3ubxk.cjs.js');
@@ -28,13 +28,13 @@ require('@babel/runtime/regenerator');
28
28
  require('@tanstack/react-query');
29
29
  require('yjs');
30
30
  require('./chunk-B6qYtOJe.cjs.js');
31
- require('./chunk-D7p10rIr.cjs.js');
32
- require('./chunk-CNIzgxEP.cjs.js');
31
+ require('./chunk-BuuzKD6e.cjs.js');
32
+ require('./chunk-D1iu346F.cjs.js');
33
33
  require('i18next');
34
34
  require('yup');
35
35
  require('react-dom/server');
36
36
  require('@bigbinary/neeto-icons/misc/Megaphone');
37
- require('./chunk-BlWQNLLE.cjs.js');
37
+ require('./chunk-C98N-sIR.cjs.js');
38
38
  require('@bigbinary/neeto-icons/TextH1');
39
39
  require('@bigbinary/neeto-icons/TextH2');
40
40
  require('@bigbinary/neeto-icons/TextH3');
@@ -84,7 +84,7 @@ require('@bigbinary/neetoui/Modal');
84
84
  require('@bigbinary/neetoui/Tab');
85
85
  require('@bigbinary/neetoui/Toastr');
86
86
  require('./chunk-D3Unocnm.cjs.js');
87
- require('./chunk-cwORbcv3.cjs.js');
87
+ require('./chunk-CtTb6u9F.cjs.js');
88
88
  require('zustand/shallow');
89
89
  require('@bigbinary/neeto-icons/LeftAlign');
90
90
  require('@bigbinary/neeto-icons/CenterAlign');
@@ -132,7 +132,7 @@ require('@bigbinary/neeto-icons/MergeSplit');
132
132
  require('@bigbinary/neeto-icons/ToggleHeaderRow');
133
133
  require('@bigbinary/neeto-icons/Edit');
134
134
  require('@bigbinary/neeto-icons/Articles');
135
- require('./chunk-B2NfgecV.cjs.js');
135
+ require('./chunk-CUiAHc9-.cjs.js');
136
136
  require('@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside');
137
137
  require('@bigbinary/neeto-icons/MenuVertical');
138
138
  require('@bigbinary/neetoui/Alert');
@@ -5,8 +5,8 @@ require('@babel/runtime/helpers/toConsumableArray');
5
5
  require('@babel/runtime/helpers/slicedToArray');
6
6
  require('react');
7
7
  require('ramda');
8
- var Menu = require('./chunk-BlWQNLLE.cjs.js');
9
- require('./chunk-CNIzgxEP.cjs.js');
8
+ var Menu = require('./chunk-C98N-sIR.cjs.js');
9
+ require('./chunk-D1iu346F.cjs.js');
10
10
  require('react/jsx-runtime');
11
11
  require('./chunk-B6qYtOJe.cjs.js');
12
12
  require('i18next');
@@ -24,7 +24,7 @@ require('@bigbinary/neeto-commons-frontend/react-utils');
24
24
  require('zustand');
25
25
  require('classnames');
26
26
  require('@bigbinary/neeto-cist');
27
- require('./chunk-Bmjmsp-E.cjs.js');
27
+ require('./chunk-BNUTjVYA.cjs.js');
28
28
  require('@bigbinary/neeto-icons/Link');
29
29
  require('@bigbinary/neeto-icons/Column');
30
30
  require('@bigbinary/neeto-icons/Down');
@@ -32,7 +32,7 @@ require('@bigbinary/neetoui/Dropdown');
32
32
  require('react-i18next');
33
33
  require('@bigbinary/neeto-icons/Close');
34
34
  require('@bigbinary/neetoui/Button');
35
- require('./chunk-D7p10rIr.cjs.js');
35
+ require('./chunk-BuuzKD6e.cjs.js');
36
36
  require('@bigbinary/neeto-commons-frontend/utils');
37
37
  require('@bigbinary/neeto-icons/Check');
38
38
  require('@bigbinary/neetoui/Label');
@@ -74,7 +74,7 @@ require('@bigbinary/neetoui/Tab');
74
74
  require('@bigbinary/neetoui/Toastr');
75
75
  require('./chunk-D3Unocnm.cjs.js');
76
76
  require('./chunk-BJu3ubxk.cjs.js');
77
- require('./chunk-cwORbcv3.cjs.js');
77
+ require('./chunk-CtTb6u9F.cjs.js');
78
78
  require('zustand/shallow');
79
79
  require('@bigbinary/neeto-icons/LeftAlign');
80
80
  require('@bigbinary/neeto-icons/CenterAlign');
@@ -41,8 +41,10 @@ var EDITOR_OPTIONS = {
41
41
  var DIRECT_UPLOAD_ENDPOINT = "/api/direct_uploads";
42
42
  var URL_REGEXP = /[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{1,63}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/;
43
43
 
44
- // HTTP/HTTPS/FTP with :// or Non-slash protocols like mailto:, tel: or Domain without protocol
45
- var ALL_PROTOCOL_URL_REGEXP = /^[a-zA-Z]\w*:\/\/[a-zA-Z0-9@:%._+~#=-]{1,256}\.[a-z]{1,63}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)|^[a-zA-Z]\w*:[^//][a-zA-Z0-9@:%._+~#=?&-]*|^[a-zA-Z0-9@:%._+~#=-]{1,256}\.[a-z]{1,63}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/i;
44
+ // HTTP/HTTPS/FTP with :// or Non-slash protocols like mailto:, tel: or Host without
45
+ // protocol. The host can be a domain name, an IPv4 address, a bracketed IPv6 address
46
+ // or localhost, each optionally followed by a port.
47
+ var ALL_PROTOCOL_URL_REGEXP = /^[a-zA-Z]\w*:\/\/(?:[a-zA-Z0-9@:%._+~#=-]{1,256}\.[a-z]{1,63}\b|(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}|\[(?:[0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}|:){1,7}|::[0-9a-fA-F:.]*)\]|localhost)(?::\d+)?([-a-zA-Z0-9@:%_+.~#?&//=]*)|^[a-zA-Z]\w*:[^//][a-zA-Z0-9@:%._+~#=?&-]*|^(?:[a-zA-Z0-9@:%._+~#=-]{1,256}\.[a-z]{1,63}\b|(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}|\[(?:[0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}|:){1,7}|::[0-9a-fA-F:.]*)\]|localhost)(?::\d+)?([-a-zA-Z0-9@:%_+.~#?&//=]*)/i;
46
48
  var YOUTUBE_URL_REGEXP = /^((?:https?:)?\/\/)?((?:www|m)\.)?((?:youtube\.com|youtu.be))(\/(?:[\w-]+\?v=|embed\/|v\/)?)([\w-]+)(\S*?)(\?[^#]*)?$/;
47
49
  var VIMEO_URL_REGEXP = /((?:http|https):\/\/)?(www\.|player\.)?vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|(?:manage\/)?videos?\/|)(\d+)(?:(?:\/|\?h=)(\w+))?(?:|\/\?)(\?[^#]*)?/;
48
50
  var LOOM_URL_REGEXP = /((?:http|https):\/\/)?(www\.)?loom\.com\/(share|embed)\/([a-f0-9]{32})(?:\?sid=([a-f0-9-]{36}))?(?:\?t=(\d+))?(\?[^#]*)?/;
@@ -94,4 +96,4 @@ exports.EDITOR_OPTIONS = EDITOR_OPTIONS;
94
96
  exports.EDITOR_SIZES = EDITOR_SIZES;
95
97
  exports.URL_REGEXP = URL_REGEXP;
96
98
  exports.URL_VALIDATORS = URL_VALIDATORS;
97
- //# sourceMappingURL=chunk-Bmjmsp-E.cjs.js.map
99
+ //# sourceMappingURL=chunk-BNUTjVYA.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-BNUTjVYA.cjs.js","sources":["../../app/javascript/src/common/constants.js"],"sourcesContent":["import { pluck } from \"ramda\";\n\nexport const EDITOR_OPTIONS = {\n // DEFAULT EDITOR OPTIONS\n BOLD: \"bold\",\n ITALIC: \"italic\",\n UNDERLINE: \"underline\",\n STRIKETHROUGH: \"strike\",\n LINK: \"link\",\n PARAGRAPH: \"paragraph\",\n H1: \"h1\",\n H2: \"h2\",\n H3: \"h3\",\n H4: \"h4\",\n H5: \"h5\",\n H6: \"h6\",\n LIST_BULLETS: \"bullet-list\",\n LIST_ORDERED: \"ordered-list\",\n CODE: \"code\",\n\n // ADDON EDITOR OPTIONS\n CODE_BLOCK: \"code-block\",\n BLOCKQUOTE: \"block-quote\",\n CALLOUT: \"callout\",\n ATTACHMENTS: \"attachments\",\n TODO_LIST: \"todo-list\",\n UNDO: \"undo\",\n REDO: \"redo\",\n HIGHLIGHT: \"highlight\",\n EMOJI: \"emoji\",\n IMAGE_UPLOAD: \"image-upload\",\n IMAGE_UPLOAD_UNSPLASH: \"image-upload-unsplash\",\n VIDEO_UPLOAD: \"video-upload\",\n DIVIDER: \"divider\",\n PASTE_UNFORMATTED: \"paste-unformatted\",\n TABLE: \"table\",\n TEXT_COLOR: \"text-color\",\n NEETO_KB_ARTICLE: \"neeto-kb-article\",\n};\n\nexport const UNSPLASH_BASE_URL = \"https://api.unsplash.com/search/photos\";\n\nexport const DIRECT_UPLOAD_ENDPOINT = \"/api/direct_uploads\";\n\nexport const URL_REGEXP =\n /[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-z]{1,63}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/;\n\n// HTTP/HTTPS/FTP with :// or Non-slash protocols like mailto:, tel: or Host without\n// protocol. The host can be a domain name, an IPv4 address, a bracketed IPv6 address\n// or localhost, each optionally followed by a port.\nexport const ALL_PROTOCOL_URL_REGEXP =\n /^[a-zA-Z]\\w*:\\/\\/(?:[a-zA-Z0-9@:%._+~#=-]{1,256}\\.[a-z]{1,63}\\b|(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}|\\[(?:[0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}|:){1,7}|::[0-9a-fA-F:.]*)\\]|localhost)(?::\\d+)?([-a-zA-Z0-9@:%_+.~#?&//=]*)|^[a-zA-Z]\\w*:[^//][a-zA-Z0-9@:%._+~#=?&-]*|^(?:[a-zA-Z0-9@:%._+~#=-]{1,256}\\.[a-z]{1,63}\\b|(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}|\\[(?:[0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}|:){1,7}|::[0-9a-fA-F:.]*)\\]|localhost)(?::\\d+)?([-a-zA-Z0-9@:%_+.~#?&//=]*)/i;\n\nexport const YOUTUBE_URL_REGEXP =\n /^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube\\.com|youtu.be))(\\/(?:[\\w-]+\\?v=|embed\\/|v\\/)?)([\\w-]+)(\\S*?)(\\?[^#]*)?$/;\n\nexport const VIMEO_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.|player\\.)?vimeo\\.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^/]*)\\/videos\\/|(?:manage\\/)?videos?\\/|)(\\d+)(?:(?:\\/|\\?h=)(\\w+))?(?:|\\/\\?)(\\?[^#]*)?/;\n\nexport const LOOM_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.)?loom\\.com\\/(share|embed)\\/([a-f0-9]{32})(?:\\?sid=([a-f0-9-]{36}))?(?:\\?t=(\\d+))?(\\?[^#]*)?/;\n\nexport const NEETO_RECORD_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.)?[a-zA-Z0-9-]+\\.(neetorecord\\.com)\\/(watch)\\/([^/\\s?#]+)/;\n\nexport const NEETO_RECORD_CUSTOM_DOMAIN_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.)?(\\w+(?:[\\w-]*\\w)?(?:\\.\\w+(?:[\\w-]*\\w)?)+)\\/(watch)\\/([^/\\s?#]+)/;\n\nexport const SUPA_DEMO_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.)?([a-zA-Z0-9-]+)\\.([a-zA-Z0-9-]+\\.[a-zA-Z0-9-]+)\\/(demo|embed)\\/([0-9a-z]+)/;\n\nexport const TWITTER_URL_REGEXP =\n /((?:http|https):\\/\\/)?(www\\.|mobile\\.)?(twitter\\.com|x\\.com)\\/(?:#!\\/)?(\\w+)\\/status(?:es)?\\/(\\d+)(?:\\?[^#]*)?/;\n\nexport const COMBINED_REGEX = new RegExp(\n pluck(\"source\", [\n YOUTUBE_URL_REGEXP,\n VIMEO_URL_REGEXP,\n LOOM_URL_REGEXP,\n NEETO_RECORD_URL_REGEXP,\n NEETO_RECORD_CUSTOM_DOMAIN_URL_REGEXP,\n SUPA_DEMO_URL_REGEXP,\n TWITTER_URL_REGEXP,\n ]).join(\"|\"),\n \"g\"\n);\n\nexport const URL_VALIDATORS = {\n youtube: url => {\n const match = url.match(YOUTUBE_URL_REGEXP);\n\n return match && `https://www.youtube.com/embed/${match[5]}`;\n },\n vimeo: url => {\n const match = url.match(VIMEO_URL_REGEXP);\n\n return match && `https://player.vimeo.com/video/${match[4]}?h=${match[5]}`;\n },\n loom: url => {\n const match = url.match(LOOM_URL_REGEXP);\n\n return (\n match && `https://www.loom.com/embed/${match[4]}?t=${match[5] || \"\"}`\n );\n },\n neetoRecord: url => {\n const match = url.match(NEETO_RECORD_URL_REGEXP);\n\n return match && url.replace(\"watch\", \"embeds\");\n },\n neetoRecordCustom: url => {\n const match = url.match(NEETO_RECORD_CUSTOM_DOMAIN_URL_REGEXP);\n\n return match && url.replace(\"watch\", \"embeds\");\n },\n supademo: url => {\n const match = url.match(SUPA_DEMO_URL_REGEXP);\n\n return (\n match && `https://${match[3]}.${match[4]}/embed/${match[6]}?embed_v=2`\n );\n },\n twitter: url => {\n const match = url.match(TWITTER_URL_REGEXP);\n\n return (\n match && `https://platform.twitter.com/embed/Tweet.html?id=${match[5]}`\n );\n },\n};\n\nexport const EDITOR_SIZES = {\n MEDIUM: \"medium\",\n LARGE: \"large\",\n SMALL: \"small\",\n};\n"],"names":["EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","CODE_BLOCK","BLOCKQUOTE","CALLOUT","ATTACHMENTS","TODO_LIST","UNDO","REDO","HIGHLIGHT","EMOJI","IMAGE_UPLOAD","IMAGE_UPLOAD_UNSPLASH","VIDEO_UPLOAD","DIVIDER","PASTE_UNFORMATTED","TABLE","TEXT_COLOR","NEETO_KB_ARTICLE","DIRECT_UPLOAD_ENDPOINT","URL_REGEXP","ALL_PROTOCOL_URL_REGEXP","YOUTUBE_URL_REGEXP","VIMEO_URL_REGEXP","LOOM_URL_REGEXP","NEETO_RECORD_URL_REGEXP","NEETO_RECORD_CUSTOM_DOMAIN_URL_REGEXP","SUPA_DEMO_URL_REGEXP","TWITTER_URL_REGEXP","COMBINED_REGEX","RegExp","pluck","join","URL_VALIDATORS","youtube","url","match","concat","vimeo","loom","neetoRecord","replace","neetoRecordCustom","supademo","twitter","EDITOR_SIZES","MEDIUM","LARGE","SMALL"],"mappings":";;;;AAEO,IAAMA,cAAc,GAAG;AAC5B;AACAC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,aAAa,EAAE,QAAQ;AACvBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,EAAE,EAAE,IAAI;AACRC,EAAAA,YAAY,EAAE,aAAa;AAC3BC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,IAAI,EAAE,MAAM;AAEZ;AACAC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,UAAU,EAAE,aAAa;AACzBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,qBAAqB,EAAE,uBAAuB;AAC9CC,EAAAA,YAAY,EAAE,cAAc;AAC5BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,iBAAiB,EAAE,mBAAmB;AACtCC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,gBAAgB,EAAE;AACpB;AAIO,IAAMC,sBAAsB,GAAG;AAE/B,IAAMC,UAAU,GACrB;;AAEF;AACA;AACA;AACO,IAAMC,uBAAuB,GAClC;AAEK,IAAMC,kBAAkB,GAC7B,uHAAuH;AAElH,IAAMC,gBAAgB,GAC3B,4KAA4K;AAEvK,IAAMC,eAAe,GAC1B,0HAA0H;AAErH,IAAMC,uBAAuB,GAClC,uFAAuF;AAElF,IAAMC,qCAAqC,GAChD,+FAA+F;AAE1F,IAAMC,oBAAoB,GAC/B,0GAA0G;AAErG,IAAMC,kBAAkB,GAC7B,gHAAgH;AAE3G,IAAMC,cAAc,GAAG,IAAIC,MAAM,CACtCC,WAAK,CAAC,QAAQ,EAAE,CACdT,kBAAkB,EAClBC,gBAAgB,EAChBC,eAAe,EACfC,uBAAuB,EACvBC,qCAAqC,EACrCC,oBAAoB,EACpBC,kBAAkB,CACnB,CAAC,CAACI,IAAI,CAAC,GAAG,CAAC,EACZ,GACF;AAEO,IAAMC,cAAc,GAAG;AAC5BC,EAAAA,OAAO,EAAE,SAAAA,OAAAA,CAAAC,GAAG,EAAI;AACd,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACd,kBAAkB,CAAC;IAE3C,OAAOc,KAAK,qCAAAC,MAAA,CAAqCD,KAAK,CAAC,CAAC,CAAC,CAAE;EAC7D,CAAC;AACDE,EAAAA,KAAK,EAAE,SAAAA,KAAAA,CAAAH,GAAG,EAAI;AACZ,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACb,gBAAgB,CAAC;AAEzC,IAAA,OAAOa,KAAK,IAAA,iCAAA,CAAAC,MAAA,CAAsCD,KAAK,CAAC,CAAC,CAAC,EAAA,KAAA,CAAA,CAAAC,MAAA,CAAMD,KAAK,CAAC,CAAC,CAAC,CAAE;EAC5E,CAAC;AACDG,EAAAA,IAAI,EAAE,SAAAA,IAAAA,CAAAJ,GAAG,EAAI;AACX,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACZ,eAAe,CAAC;AAExC,IAAA,OACEY,KAAK,IAAA,6BAAA,CAAAC,MAAA,CAAkCD,KAAK,CAAC,CAAC,CAAC,EAAA,KAAA,CAAA,CAAAC,MAAA,CAAMD,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAE;EAEzE,CAAC;AACDI,EAAAA,WAAW,EAAE,SAAAA,WAAAA,CAAAL,GAAG,EAAI;AAClB,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACX,uBAAuB,CAAC;IAEhD,OAAOW,KAAK,IAAID,GAAG,CAACM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;EAChD,CAAC;AACDC,EAAAA,iBAAiB,EAAE,SAAAA,iBAAAA,CAAAP,GAAG,EAAI;AACxB,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACV,qCAAqC,CAAC;IAE9D,OAAOU,KAAK,IAAID,GAAG,CAACM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;EAChD,CAAC;AACDE,EAAAA,QAAQ,EAAE,SAAAA,QAAAA,CAAAR,GAAG,EAAI;AACf,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACT,oBAAoB,CAAC;IAE7C,OACES,KAAK,eAAAC,MAAA,CAAeD,KAAK,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,CAAAC,MAAA,CAAID,KAAK,CAAC,CAAC,CAAC,EAAA,SAAA,CAAA,CAAAC,MAAA,CAAUD,KAAK,CAAC,CAAC,CAAC,EAAA,YAAA,CAAY;EAE1E,CAAC;AACDQ,EAAAA,OAAO,EAAE,SAAAA,OAAAA,CAAAT,GAAG,EAAI;AACd,IAAA,IAAMC,KAAK,GAAGD,GAAG,CAACC,KAAK,CAACR,kBAAkB,CAAC;IAE3C,OACEQ,KAAK,wDAAAC,MAAA,CAAwDD,KAAK,CAAC,CAAC,CAAC,CAAE;AAE3E,EAAA;AACF;AAEO,IAAMS,YAAY,GAAG;AAC1BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,KAAK,EAAE;AACT;;;;;;;;;;"}
@@ -12,7 +12,7 @@ var neetoCist = require('@bigbinary/neeto-cist');
12
12
  var ramda = require('ramda');
13
13
  var reactI18next = require('react-i18next');
14
14
  var reactFileIcon_esm = require('./chunk-D3Unocnm.cjs.js');
15
- var FileIcon = require('./chunk-D6ygkQBu.cjs.js');
15
+ var FileIcon = require('./chunk-R9zpTo5i.cjs.js');
16
16
  var lucideReact = require('lucide-react');
17
17
  var useOnClickOutside = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useOnClickOutside');
18
18
  var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
@@ -394,7 +394,7 @@ var AttachmentProgress = function AttachmentProgress(_ref) {
394
394
  };
395
395
 
396
396
  var Preview = /*#__PURE__*/React.lazy(function () {
397
- return Promise.resolve().then(function () { return require('./chunk-CCCSexAh.cjs.js'); });
397
+ return Promise.resolve().then(function () { return require('./chunk-Cgxhrpuh.cjs.js'); });
398
398
  });
399
399
  var Attachments$1 = function Attachments(_ref, ref) {
400
400
  var _fileUploadConfig$all;
@@ -566,4 +566,4 @@ var Attachments = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(Attachme
566
566
  exports.Attachments = Attachments;
567
567
  exports.checkPreviewAvailability = checkPreviewAvailability;
568
568
  exports.downloadFile = downloadFile;
569
- //# sourceMappingURL=chunk-MxWVMW6e.cjs.js.map
569
+ //# sourceMappingURL=chunk-Bmd6d-x7.cjs.js.map