@bigbinary/neeto-editor-frontend 2.2.2 → 2.2.4

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 (113) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Attachments.js +3 -3
  3. package/dist/Editor.js +10 -10
  4. package/dist/EditorContent.js +4 -4
  5. package/dist/FormikEditor.js +10 -10
  6. package/dist/Menu.js +7 -7
  7. package/dist/{chunk-BfQ_Kj4i.js → chunk-AexVHCkr.js} +4 -4
  8. package/dist/{chunk-BfQ_Kj4i.js.map → chunk-AexVHCkr.js.map} +1 -1
  9. package/dist/{chunk-CRUXOawK.js → chunk-B5LsYrmv.js} +4 -4
  10. package/dist/{chunk-CRUXOawK.js.map → chunk-B5LsYrmv.js.map} +1 -1
  11. package/dist/chunk-BHi0J28T.js +1970 -0
  12. package/dist/chunk-BHi0J28T.js.map +1 -0
  13. package/dist/{chunk-CxFTIgDS.js → chunk-BIgc5m-h.js} +2 -2
  14. package/dist/{chunk-CxFTIgDS.js.map → chunk-BIgc5m-h.js.map} +1 -1
  15. package/dist/{chunk-BNyLNMnb.js → chunk-Bktpw5vs.js} +5 -5
  16. package/dist/{chunk-BNyLNMnb.js.map → chunk-Bktpw5vs.js.map} +1 -1
  17. package/dist/{chunk-lEnpEBRB.js → chunk-BozdxlzB.js} +5 -5
  18. package/dist/{chunk-lEnpEBRB.js.map → chunk-BozdxlzB.js.map} +1 -1
  19. package/dist/{chunk-BpMZjml2.js → chunk-C9H9LYpP.js} +2 -2
  20. package/dist/chunk-C9H9LYpP.js.map +1 -0
  21. package/dist/{chunk-DhFieQe2.js → chunk-CLjWv4gG.js} +4 -4
  22. package/dist/{chunk-DhFieQe2.js.map → chunk-CLjWv4gG.js.map} +1 -1
  23. package/dist/{chunk-D_Lgx0N7.js → chunk-C_4zmIBQ.js} +2 -2
  24. package/dist/{chunk-D_Lgx0N7.js.map → chunk-C_4zmIBQ.js.map} +1 -1
  25. package/dist/{chunk-YhV82e9I.js → chunk-CivYrffM.js} +6 -6
  26. package/dist/{chunk-YhV82e9I.js.map → chunk-CivYrffM.js.map} +1 -1
  27. package/dist/{chunk-BV_wep_Y.js → chunk-D37Dlp9s.js} +4 -4
  28. package/dist/{chunk-BV_wep_Y.js.map → chunk-D37Dlp9s.js.map} +1 -1
  29. package/dist/{chunk-DYRpf9PJ.js → chunk-DPx9v04U.js} +3 -3
  30. package/dist/{chunk-DYRpf9PJ.js.map → chunk-DPx9v04U.js.map} +1 -1
  31. package/dist/{chunk-7ioLE0kx.js → chunk-DcxOAiAp.js} +2 -2
  32. package/dist/{chunk-7ioLE0kx.js.map → chunk-DcxOAiAp.js.map} +1 -1
  33. package/dist/{chunk-DN9pYQV5.js → chunk-DqSrbxqC.js} +2 -2
  34. package/dist/{chunk-DN9pYQV5.js.map → chunk-DqSrbxqC.js.map} +1 -1
  35. package/dist/{chunk-BGx6BSFw.js → chunk-DwQ7NJtm.js} +4 -4
  36. package/dist/{chunk-BGx6BSFw.js.map → chunk-DwQ7NJtm.js.map} +1 -1
  37. package/dist/{chunk-Br5h7rjn.js → chunk-GA-wADEN.js} +3 -3
  38. package/dist/{chunk-Br5h7rjn.js.map → chunk-GA-wADEN.js.map} +1 -1
  39. package/dist/{chunk-DfH1lF5p.js → chunk-LtUevT4I.js} +2 -2
  40. package/dist/{chunk-DfH1lF5p.js.map → chunk-LtUevT4I.js.map} +1 -1
  41. package/dist/{chunk-sn8HEeT6.js → chunk-yBvbLjSM.js} +4 -4
  42. package/dist/{chunk-sn8HEeT6.js.map → chunk-yBvbLjSM.js.map} +1 -1
  43. package/dist/cjs/Attachments.cjs.js +3 -3
  44. package/dist/cjs/Editor.cjs.js +10 -10
  45. package/dist/cjs/EditorContent.cjs.js +4 -4
  46. package/dist/cjs/FormikEditor.cjs.js +10 -10
  47. package/dist/cjs/Menu.cjs.js +7 -7
  48. package/dist/cjs/{chunk-BAse0j9m.cjs.js → chunk-BfHU_Ynq.cjs.js} +4 -4
  49. package/dist/cjs/{chunk-BAse0j9m.cjs.js.map → chunk-BfHU_Ynq.cjs.js.map} +1 -1
  50. package/dist/cjs/{chunk-QnVNXaqt.cjs.js → chunk-CAaxrndK.cjs.js} +6 -6
  51. package/dist/cjs/{chunk-QnVNXaqt.cjs.js.map → chunk-CAaxrndK.cjs.js.map} +1 -1
  52. package/dist/cjs/{chunk-DRnP2LQe.cjs.js → chunk-CJIIbW7G.cjs.js} +2 -2
  53. package/dist/cjs/{chunk-DRnP2LQe.cjs.js.map → chunk-CJIIbW7G.cjs.js.map} +1 -1
  54. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js → chunk-CKbuSSOi.cjs.js} +5 -5
  55. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js.map → chunk-CKbuSSOi.cjs.js.map} +1 -1
  56. package/dist/cjs/{chunk-CQLQEN5P.cjs.js → chunk-CU6dMPZV.cjs.js} +2 -2
  57. package/dist/cjs/{chunk-CQLQEN5P.cjs.js.map → chunk-CU6dMPZV.cjs.js.map} +1 -1
  58. package/dist/cjs/{chunk-BPJBeVDI.cjs.js → chunk-C_XHzWXy.cjs.js} +2 -2
  59. package/dist/cjs/chunk-C_XHzWXy.cjs.js.map +1 -0
  60. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js → chunk-CddQ0UHU.cjs.js} +3 -3
  61. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js.map → chunk-CddQ0UHU.cjs.js.map} +1 -1
  62. package/dist/cjs/{chunk-BPLEmkMA.cjs.js → chunk-CfiRFXt2.cjs.js} +2 -2
  63. package/dist/cjs/{chunk-BPLEmkMA.cjs.js.map → chunk-CfiRFXt2.cjs.js.map} +1 -1
  64. package/dist/cjs/{chunk-78VpxO0R.cjs.js → chunk-CkSG3yNC.cjs.js} +4 -4
  65. package/dist/cjs/{chunk-78VpxO0R.cjs.js.map → chunk-CkSG3yNC.cjs.js.map} +1 -1
  66. package/dist/cjs/{chunk-CHk_Gq2n.cjs.js → chunk-CpQ8t9br.cjs.js} +2 -2
  67. package/dist/cjs/{chunk-CHk_Gq2n.cjs.js.map → chunk-CpQ8t9br.cjs.js.map} +1 -1
  68. package/dist/cjs/chunk-Cr0FBhRs.cjs.js +1990 -0
  69. package/dist/cjs/chunk-Cr0FBhRs.cjs.js.map +1 -0
  70. package/dist/cjs/{chunk-DGPpvE8O.cjs.js → chunk-Ct6vCCZ0.cjs.js} +4 -4
  71. package/dist/cjs/{chunk-DGPpvE8O.cjs.js.map → chunk-Ct6vCCZ0.cjs.js.map} +1 -1
  72. package/dist/cjs/{chunk-CwY6UgZq.cjs.js → chunk-CxKWZyHq.cjs.js} +3 -3
  73. package/dist/cjs/{chunk-CwY6UgZq.cjs.js.map → chunk-CxKWZyHq.cjs.js.map} +1 -1
  74. package/dist/cjs/{chunk-j4T5BDua.cjs.js → chunk-Df33Mipq.cjs.js} +5 -5
  75. package/dist/cjs/{chunk-j4T5BDua.cjs.js.map → chunk-Df33Mipq.cjs.js.map} +1 -1
  76. package/dist/cjs/{chunk-D86ONI5s.cjs.js → chunk-Df43FB6u.cjs.js} +4 -4
  77. package/dist/cjs/{chunk-D86ONI5s.cjs.js.map → chunk-Df43FB6u.cjs.js.map} +1 -1
  78. package/dist/cjs/{chunk--47DtZYn.cjs.js → chunk-DuwgLqpD.cjs.js} +4 -4
  79. package/dist/cjs/{chunk--47DtZYn.cjs.js.map → chunk-DuwgLqpD.cjs.js.map} +1 -1
  80. package/dist/cjs/{chunk-bxP1kilM.cjs.js → chunk-Dwv-JqJN.cjs.js} +2 -2
  81. package/dist/cjs/{chunk-bxP1kilM.cjs.js.map → chunk-Dwv-JqJN.cjs.js.map} +1 -1
  82. package/dist/cjs/{chunk-CBswWnmM.cjs.js → chunk-Niprqtd_.cjs.js} +3 -3
  83. package/dist/cjs/{chunk-CBswWnmM.cjs.js.map → chunk-Niprqtd_.cjs.js.map} +1 -1
  84. package/dist/cjs/index.cjs.js +12 -12
  85. package/dist/cjs/utils.cjs.js +6 -6
  86. package/dist/cjs/v2/Attachments.cjs.js +3 -3
  87. package/dist/cjs/v2/Editor.cjs.js +872 -236
  88. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  89. package/dist/cjs/v2/EditorContent.cjs.js +4 -4
  90. package/dist/cjs/v2/FormikEditor.cjs.js +9 -9
  91. package/dist/cjs/v2/Menu.cjs.js +6 -6
  92. package/dist/cjs/v2/index.cjs.js +11 -11
  93. package/dist/cjs/v2/utils.cjs.js +6 -6
  94. package/dist/editor-stats.html +1 -19
  95. package/dist/index.js +12 -12
  96. package/dist/utils.js +6 -6
  97. package/dist/v2/Attachments.js +3 -3
  98. package/dist/v2/Editor.js +872 -236
  99. package/dist/v2/Editor.js.map +1 -1
  100. package/dist/v2/EditorContent.js +4 -4
  101. package/dist/v2/FormikEditor.js +9 -9
  102. package/dist/v2/Menu.js +6 -6
  103. package/dist/v2/index.js +11 -11
  104. package/dist/v2/styles.css +1 -1
  105. package/dist/v2/styles.js +1 -1
  106. package/dist/v2/utils.js +6 -6
  107. package/package.json +6 -4
  108. package/dist/chunk-BpMZjml2.js.map +0 -1
  109. package/dist/chunk-OP-lX765.js +0 -8654
  110. package/dist/chunk-OP-lX765.js.map +0 -1
  111. package/dist/cjs/chunk-BPJBeVDI.cjs.js.map +0 -1
  112. package/dist/cjs/chunk-Bde8Sbb1.cjs.js +0 -8674
  113. package/dist/cjs/chunk-Bde8Sbb1.cjs.js.map +0 -1
@@ -8,8 +8,8 @@ import classnames from 'classnames';
8
8
  import { removeBy, noop, isPresent, isNotEmpty } from '@bigbinary/neeto-cist';
9
9
  import { mergeRight, isEmpty, assoc } from 'ramda';
10
10
  import { useTranslation, Trans } from 'react-i18next';
11
- import { d as directUploadsApi, u as useDropFiles } from './chunk-OP-lX765.js';
12
- import { D as DEFAULT_FILE_UPLOAD_CONFIG, a as ATTACHMENT_OPTIONS, F as File, u as useFileUploader } from './chunk-CxFTIgDS.js';
11
+ import { d as directUploadsApi, u as useDropFiles } from './chunk-BHi0J28T.js';
12
+ import { D as DEFAULT_FILE_UPLOAD_CONFIG, a as ATTACHMENT_OPTIONS, F as File, u as useFileUploader } from './chunk-BIgc5m-h.js';
13
13
  import { Check, X, EllipsisVertical } from 'lucide-react';
14
14
  import useOnClickOutside from '@bigbinary/neeto-commons-frontend/v2/react-utils/useOnClickOutside';
15
15
  import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/v2/utils';
@@ -384,7 +384,7 @@ var AttachmentProgress = function AttachmentProgress(_ref) {
384
384
  function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
385
385
  function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
386
386
  var Preview = /*#__PURE__*/lazy(function () {
387
- return import('./chunk-BfQ_Kj4i.js');
387
+ return import('./chunk-AexVHCkr.js');
388
388
  });
389
389
  var Attachments = function Attachments(_ref, ref) {
390
390
  var _fileUploadConfig$all;
@@ -552,4 +552,4 @@ Attachments.displayName = "NeetoEditorAttachments";
552
552
  var Attachments$1 = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(Attachments));
553
553
 
554
554
  export { Attachments$1 as A, checkPreviewAvailability as c, downloadFile as d };
555
- //# sourceMappingURL=chunk-BGx6BSFw.js.map
555
+ //# sourceMappingURL=chunk-DwQ7NJtm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-BGx6BSFw.js","sources":["../app/javascript/src/v2/components/Attachments/utils.js","../app/javascript/src/v2/components/Attachments/Attachment.jsx","../app/javascript/src/v2/components/Attachments/AttachmentProgress.jsx","../app/javascript/src/v2/components/Attachments/index.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { mergeRight } from \"ramda\";\n\nimport { DEFAULT_FILE_UPLOAD_CONFIG } from \"./constants\";\n\nexport const buildFileUploadConfig = config =>\n mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);\n\nexport const downloadFile = async (fileUrl, filename) => {\n try {\n const response = await fetch(fileUrl);\n const blob = await response.blob();\n const blobUrl = URL.createObjectURL(blob);\n\n const a = document.createElement(\"a\");\n a.href = blobUrl;\n a.setAttribute(\"download\", filename);\n a.style.display = \"none\";\n document.body.appendChild(a);\n\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(blobUrl);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const checkPreviewAvailability = (contentType, previewUrl = null) =>\n contentType &&\n (contentType.startsWith(\"video/\") ||\n contentType === \"application/pdf\" ||\n contentType === \"image/jpeg\" ||\n contentType === \"image/gif\" ||\n contentType === \"image/png\" ||\n contentType === \"image/webp\" ||\n contentType === \"text/plain\" ||\n (!!previewUrl &&\n (contentType === \"image/heic\" || contentType === \"image/heif\")) ||\n contentType === \"image/bmp\" ||\n contentType === \"application/msword\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n contentType === \"image/jpg\" ||\n contentType === \"application/vnd.ms-powerpoint\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n contentType === \"image/tiff\" ||\n contentType === \"application/vnd.ms-excel\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\n","import { useState, useRef } from \"react\";\n\nimport {\n Alert,\n Button,\n DropdownMenu,\n Input,\n Spinner,\n Toastr,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Check, EllipsisVertical, X } from \"lucide-react\";\nimport { removeBy } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { isEmpty, assoc } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nimport { ATTACHMENT_OPTIONS } from \"./constants\";\nimport { downloadFile } from \"./utils\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Attachment = ({\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n isLoading,\n allowDelete,\n allowOpenInNewTab,\n}) => {\n const { t } = useTranslation();\n\n const [isRenaming, setIsRenaming] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n const [newFilename, setNewFilename] = useState(\"\");\n\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => {\n if (!isRenaming) return;\n setIsRenaming(false);\n setNewFilename(\"\");\n });\n\n const handleDownload = () =>\n downloadFile(attachment.url, attachment.filename);\n\n const handleOpenInNewTab = () =>\n window.open(attachment.url, \"_blank\", \"noopener,noreferrer\");\n\n const handleRename = async () => {\n try {\n setIsUpdating(true);\n const { signedId } = attachment;\n const payload = { blob: { filename: newFilename } };\n\n const response = await directUploadsApi.update({ signedId, payload });\n const filename = response.data?.blob?.filename || response.blob.filename;\n\n onChange(\n attachments.map(attachment =>\n attachment.signedId === signedId\n ? assoc(\"filename\", filename, attachment)\n : attachment\n )\n );\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsRenaming(false);\n setIsUpdating(false);\n setNewFilename(\"\");\n }\n };\n\n const handleDelete = async () => {\n if (!allowDelete) return;\n\n setIsDeleting(true);\n try {\n const { signedId } = attachment;\n await directUploadsApi.destroy(signedId);\n onChange(removeBy({ signedId }, attachments));\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handlers = {\n ...(allowOpenInNewTab && {\n [ATTACHMENT_OPTIONS.OPEN_IN_NEW_TAB]: handleOpenInNewTab,\n }),\n [ATTACHMENT_OPTIONS.DOWNLOAD]: handleDownload,\n [ATTACHMENT_OPTIONS.RENAME]: handleRename,\n ...(allowDelete && { [ATTACHMENT_OPTIONS.DELETE]: handleDelete }),\n };\n\n const onMenuItemClick = ({ key, handler }) => {\n if (key === ATTACHMENT_OPTIONS.RENAME) {\n setIsRenaming(true);\n setNewFilename(attachment.filename);\n } else if (key === ATTACHMENT_OPTIONS.DELETE) {\n setNewFilename(attachment.filename);\n setIsDeleteAlertOpen(true);\n } else {\n handler();\n }\n };\n\n const handleKeyDown = ({ event, key }) => {\n const handler = handlers[key];\n\n if (event.key === \"Enter\" && handler && !isEmpty(newFilename)) {\n event.stopPropagation();\n event.preventDefault();\n handler();\n }\n\n if (event.key === \"Escape\") {\n setIsRenaming(false);\n setNewFilename(\"\");\n }\n };\n\n return (\n <>\n <div\n className=\"ne-attachments__preview\"\n data-testid=\"ne-attachments-wrapper\"\n >\n {isRenaming ? (\n <div ref={renameRef}>\n <Tooltip content={newFilename} position=\"top\">\n <Input\n autoFocus\n data-testid=\"neeto-editor-preview-rename-input\"\n size=\"small\"\n value={newFilename}\n error={\n isEmpty(newFilename)\n ? t(\"neetoEditor.attachments.nameEmpty\")\n : \"\"\n }\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n data-testid=\"neeto-editor-preview-rename-submit-button\"\n disabled={isEmpty(newFilename) || isUpdating}\n icon={Check}\n loading={isUpdating}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRename}\n />\n <Button\n data-testid=\"neeto-editor-preview-rename-cancel-button\"\n disabled={isUpdating}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n setIsRenaming(false);\n setNewFilename(\"\");\n }}\n />\n </div>\n }\n onChange={withEventTargetValue(setNewFilename)}\n onKeyDown={event =>\n handleKeyDown({\n event,\n key: ATTACHMENT_OPTIONS.RENAME,\n })\n }\n />\n </Tooltip>\n </div>\n ) : (\n <>\n <div\n className=\"ne-attachments__preview-wrapper\"\n onClick={() => setSelectedAttachment(attachment)}\n >\n <FileIcon\n className=\"ne-attachments__preview-wrapper__icon\"\n fileName={attachment.filename}\n />\n <Tooltip content={attachment.filename} position=\"top\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n </Tooltip>\n {isLoading && <Spinner className=\"attachment-button-loader\" />}\n </div>\n <Tooltip\n content={t(\"neetoEditor.attachments.actionsBlocked\")}\n disabled={!disabled}\n position=\"top\"\n >\n <DropdownMenu\n {...{ disabled }}\n // neeto-atoms's default rich trigger always appends a\n // ChevronDown as trailing icon. For an ellipsis \"more\n // actions\" button the ellipsis itself signals a menu —\n // use customTarget to render the icon-only button without\n // the redundant chevron.\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button\n {...{ disabled }}\n data-testid=\"neeto-editor-attachment-actions\"\n icon={EllipsisVertical}\n size=\"sm\"\n variant=\"ghost\"\n />\n }\n >\n <Menu>\n {Object.entries(handlers).map(([label, handler]) => (\n <MenuItem\n data-testid={`neeto-editor-preview-${label.toLowerCase()}-button`}\n key={label}\n onClick={() => onMenuItemClick({ key: label, handler })}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n </Tooltip>\n </>\n )}\n </div>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n style=\"danger\"\n submitButtonLabel={t(\"neetoEditor.menu.delete\")}\n title={t(\"neetoEditor.attachments.deleteTitle\")}\n message={\n <Trans\n i18nKey=\"neetoEditor.attachments.deleteConfirmation\"\n values={{ entity: newFilename }}\n />\n }\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default Attachment;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst AttachmentProgress = ({ attachment, cancelUpload }) => {\n const progressPercentage = `${attachment.progress ?? 0}%`;\n\n const handleCancel = () => {\n cancelUpload(attachment.id);\n };\n\n return (\n <div className=\"ne-attachments__preview\">\n <FileIcon\n className=\"ne-attachments__preview__progress-icon\"\n fileName={attachment.filename}\n />\n <div className=\"ne-attachments__preview__progress\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n <Typography variant=\"body2\">{progressPercentage}</Typography>\n </div>\n <Button\n data-testid=\"neeto-editor-preview-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </div>\n );\n};\n\nexport default AttachmentProgress;\n","import {\n forwardRef,\n useRef,\n useState,\n useImperativeHandle,\n lazy,\n Suspense,\n useMemo,\n memo,\n} from \"react\";\n\nimport { Button, Toastr } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Attachment from \"./Attachment\";\nimport AttachmentProgress from \"./AttachmentProgress\";\nimport { buildFileUploadConfig } from \"./utils\";\n\nconst Preview = lazy(() => import(\"./Preview\"));\n\nconst Attachments = (\n {\n attachments = [],\n className = \"\",\n onChange = noop,\n isIndependent = true,\n disabled = false,\n dragDropRef = null,\n config = {},\n setIsUploading = noop,\n allowDelete = true,\n allowOpenInNewTab = true,\n },\n ref\n) => {\n const { t } = useTranslation();\n\n const [selectedAttachment, setSelectedAttachment] = useState({});\n const [didFetchPreviewBundle, setDidFetchPreviewBundle] = useState(false);\n\n const attachmentInputRef = useRef(null);\n\n const fileUploadConfig = useMemo(\n () => buildFileUploadConfig(config),\n [config]\n );\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: fileUploadConfig,\n setIsUploadingOnHost: setIsUploading,\n attachments,\n });\n\n const handleAddFile = async event => {\n addFiles(event.target.files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n attachmentInputRef.current.value = null;\n };\n\n const handleUploadAttachments = () => attachmentInputRef.current.click();\n\n const handleFileInputClick = event => {\n if (!(!isEmpty(attachments) && fileUploadConfig.maxNumberOfFiles === 1)) {\n return;\n }\n event.preventDefault();\n Toastr.warning(t(\"neetoEditor.attachments.oneAttachmentAllowed\"));\n };\n\n useImperativeHandle(ref, () => ({ handleUploadAttachments }), []);\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n };\n\n useDropFiles({\n dropTargetRef: dragDropRef,\n attachments,\n onDrop: handleFilesDrop,\n });\n\n return (\n <div className={classnames(\"ne-attachments\", { [className]: className })}>\n <div className=\"ne-attachments__items\">\n {attachments.map(attachment => (\n <Attachment\n {...{\n allowDelete,\n allowOpenInNewTab,\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n }}\n key={attachment.signedId}\n isLoading={\n !didFetchPreviewBundle &&\n selectedAttachment.url === attachment.url\n }\n />\n ))}\n {queuedFiles.map(attachment => (\n <AttachmentProgress\n {...{ attachment, cancelUpload }}\n key={attachment.id}\n />\n ))}\n </div>\n <div>\n {isIndependent && (\n <Button\n data-testid=\"neeto-editor-attachments-upload-button\"\n disabled={isUploading}\n label={t(\"neetoEditor.attachments.add\")}\n loading={isUploading}\n variant=\"link\"\n onClick={handleUploadAttachments}\n />\n )}\n <input\n accept={fileUploadConfig.allowedFileTypes?.join(\",\")}\n multiple={fileUploadConfig.maxNumberOfFiles !== 1}\n ref={attachmentInputRef}\n type=\"file\"\n onChange={handleAddFile}\n onClick={handleFileInputClick}\n />\n <Suspense fallback={<span />}>\n {isPresent(selectedAttachment) && (\n <Preview\n {...{\n attachments,\n selectedAttachment,\n setDidFetchPreviewBundle,\n setSelectedAttachment,\n }}\n onClose={() => setSelectedAttachment({})}\n />\n )}\n </Suspense>\n </div>\n </div>\n );\n};\n\nAttachments.displayName = \"NeetoEditorAttachments\";\n\nexport default memo(forwardRef(Attachments));\n"],"names":["_regenerator","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","buildFileUploadConfig","config","mergeRight","DEFAULT_FILE_UPLOAD_CONFIG","downloadFile","_ref","_asyncToGenerator","_callee","fileUrl","filename","response","blob","blobUrl","_t","_context","fetch","URL","createObjectURL","document","createElement","href","setAttribute","style","display","body","appendChild","click","removeChild","revokeObjectURL","Toastr","error","_x","_x2","apply","arguments","checkPreviewAvailability","contentType","previewUrl","undefined","startsWith","Menu","DropdownMenu","MenuItem","Attachment","attachment","attachments","disabled","onChange","setSelectedAttachment","isLoading","allowDelete","allowOpenInNewTab","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isRenaming","setIsRenaming","_useState3","_useState4","isUpdating","setIsUpdating","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleting","setIsDeleting","_useState9","_useState0","newFilename","setNewFilename","renameRef","useRef","useOnClickOutside","handleDownload","url","handleOpenInNewTab","window","open","handleRename","_ref2","_response$data","signedId","payload","directUploadsApi","update","data","map","assoc","handleDelete","_ref3","_callee2","_t2","_context2","destroy","removeBy","handlers","_objectSpread","_defineProperty","ATTACHMENT_OPTIONS","OPEN_IN_NEW_TAB","DOWNLOAD","RENAME","DELETE","onMenuItemClick","_ref6","key","handler","handleKeyDown","_ref7","event","isEmpty","stopPropagation","preventDefault","_jsxs","_Fragment","children","_jsx","className","ref","Tooltip","content","position","Input","autoFocus","size","suffix","Button","icon","Check","loading","variant","onClick","X","withEventTargetValue","onKeyDown","FileIcon","fileName","Typography","Spinner","dropdownProps","customTarget","EllipsisVertical","entries","_ref8","_ref9","label","concat","toLowerCase","Alert","isOpen","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","onClose","onSubmit","AttachmentProgress","_attachment$progress","cancelUpload","progressPercentage","progress","handleCancel","id","Preview","lazy","Attachments","_fileUploadConfig$all","_ref$attachments","_ref$className","_ref$onChange","noop","_ref$isIndependent","isIndependent","_ref$disabled","_ref$dragDropRef","dragDropRef","_ref$config","_ref$setIsUploading","setIsUploading","_ref$allowDelete","_ref$allowOpenInNewTa","selectedAttachment","didFetchPreviewBundle","setDidFetchPreviewBundle","attachmentInputRef","fileUploadConfig","useMemo","_useFileUploader","useFileUploader","setIsUploadingOnHost","addFiles","uploadFiles","queuedFiles","isUploading","handleAddFile","uploadedFiles","target","files","isNotEmpty","_toConsumableArray","current","handleUploadAttachments","handleFileInputClick","maxNumberOfFiles","warning","useImperativeHandle","handleFilesDrop","useDropFiles","dropTargetRef","onDrop","classnames","_createElement","accept","allowedFileTypes","join","multiple","type","Suspense","fallback","isPresent","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-DwQ7NJtm.js","sources":["../app/javascript/src/v2/components/Attachments/utils.js","../app/javascript/src/v2/components/Attachments/Attachment.jsx","../app/javascript/src/v2/components/Attachments/AttachmentProgress.jsx","../app/javascript/src/v2/components/Attachments/index.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { mergeRight } from \"ramda\";\n\nimport { DEFAULT_FILE_UPLOAD_CONFIG } from \"./constants\";\n\nexport const buildFileUploadConfig = config =>\n mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);\n\nexport const downloadFile = async (fileUrl, filename) => {\n try {\n const response = await fetch(fileUrl);\n const blob = await response.blob();\n const blobUrl = URL.createObjectURL(blob);\n\n const a = document.createElement(\"a\");\n a.href = blobUrl;\n a.setAttribute(\"download\", filename);\n a.style.display = \"none\";\n document.body.appendChild(a);\n\n a.click();\n\n document.body.removeChild(a);\n URL.revokeObjectURL(blobUrl);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const checkPreviewAvailability = (contentType, previewUrl = null) =>\n contentType &&\n (contentType.startsWith(\"video/\") ||\n contentType === \"application/pdf\" ||\n contentType === \"image/jpeg\" ||\n contentType === \"image/gif\" ||\n contentType === \"image/png\" ||\n contentType === \"image/webp\" ||\n contentType === \"text/plain\" ||\n (!!previewUrl &&\n (contentType === \"image/heic\" || contentType === \"image/heif\")) ||\n contentType === \"image/bmp\" ||\n contentType === \"application/msword\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n contentType === \"image/jpg\" ||\n contentType === \"application/vnd.ms-powerpoint\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n contentType === \"image/tiff\" ||\n contentType === \"application/vnd.ms-excel\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\n","import { useState, useRef } from \"react\";\n\nimport {\n Alert,\n Button,\n DropdownMenu,\n Input,\n Spinner,\n Toastr,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Check, EllipsisVertical, X } from \"lucide-react\";\nimport { removeBy } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/v2/react-utils/useOnClickOutside\";\nimport { withEventTargetValue } from \"neetocommons/v2/utils\";\nimport { isEmpty, assoc } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nimport { ATTACHMENT_OPTIONS } from \"./constants\";\nimport { downloadFile } from \"./utils\";\n\nconst { Menu, MenuItem } = DropdownMenu;\n\nconst Attachment = ({\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n isLoading,\n allowDelete,\n allowOpenInNewTab,\n}) => {\n const { t } = useTranslation();\n\n const [isRenaming, setIsRenaming] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n const [newFilename, setNewFilename] = useState(\"\");\n\n const renameRef = useRef(null);\n\n useOnClickOutside(renameRef, () => {\n if (!isRenaming) return;\n setIsRenaming(false);\n setNewFilename(\"\");\n });\n\n const handleDownload = () =>\n downloadFile(attachment.url, attachment.filename);\n\n const handleOpenInNewTab = () =>\n window.open(attachment.url, \"_blank\", \"noopener,noreferrer\");\n\n const handleRename = async () => {\n try {\n setIsUpdating(true);\n const { signedId } = attachment;\n const payload = { blob: { filename: newFilename } };\n\n const response = await directUploadsApi.update({ signedId, payload });\n const filename = response.data?.blob?.filename || response.blob.filename;\n\n onChange(\n attachments.map(attachment =>\n attachment.signedId === signedId\n ? assoc(\"filename\", filename, attachment)\n : attachment\n )\n );\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsRenaming(false);\n setIsUpdating(false);\n setNewFilename(\"\");\n }\n };\n\n const handleDelete = async () => {\n if (!allowDelete) return;\n\n setIsDeleting(true);\n try {\n const { signedId } = attachment;\n await directUploadsApi.destroy(signedId);\n onChange(removeBy({ signedId }, attachments));\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handlers = {\n ...(allowOpenInNewTab && {\n [ATTACHMENT_OPTIONS.OPEN_IN_NEW_TAB]: handleOpenInNewTab,\n }),\n [ATTACHMENT_OPTIONS.DOWNLOAD]: handleDownload,\n [ATTACHMENT_OPTIONS.RENAME]: handleRename,\n ...(allowDelete && { [ATTACHMENT_OPTIONS.DELETE]: handleDelete }),\n };\n\n const onMenuItemClick = ({ key, handler }) => {\n if (key === ATTACHMENT_OPTIONS.RENAME) {\n setIsRenaming(true);\n setNewFilename(attachment.filename);\n } else if (key === ATTACHMENT_OPTIONS.DELETE) {\n setNewFilename(attachment.filename);\n setIsDeleteAlertOpen(true);\n } else {\n handler();\n }\n };\n\n const handleKeyDown = ({ event, key }) => {\n const handler = handlers[key];\n\n if (event.key === \"Enter\" && handler && !isEmpty(newFilename)) {\n event.stopPropagation();\n event.preventDefault();\n handler();\n }\n\n if (event.key === \"Escape\") {\n setIsRenaming(false);\n setNewFilename(\"\");\n }\n };\n\n return (\n <>\n <div\n className=\"ne-attachments__preview\"\n data-testid=\"ne-attachments-wrapper\"\n >\n {isRenaming ? (\n <div ref={renameRef}>\n <Tooltip content={newFilename} position=\"top\">\n <Input\n autoFocus\n data-testid=\"neeto-editor-preview-rename-input\"\n size=\"small\"\n value={newFilename}\n error={\n isEmpty(newFilename)\n ? t(\"neetoEditor.attachments.nameEmpty\")\n : \"\"\n }\n suffix={\n <div className=\"flex items-center justify-end\">\n <Button\n data-testid=\"neeto-editor-preview-rename-submit-button\"\n disabled={isEmpty(newFilename) || isUpdating}\n icon={Check}\n loading={isUpdating}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleRename}\n />\n <Button\n data-testid=\"neeto-editor-preview-rename-cancel-button\"\n disabled={isUpdating}\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => {\n setIsRenaming(false);\n setNewFilename(\"\");\n }}\n />\n </div>\n }\n onChange={withEventTargetValue(setNewFilename)}\n onKeyDown={event =>\n handleKeyDown({\n event,\n key: ATTACHMENT_OPTIONS.RENAME,\n })\n }\n />\n </Tooltip>\n </div>\n ) : (\n <>\n <div\n className=\"ne-attachments__preview-wrapper\"\n onClick={() => setSelectedAttachment(attachment)}\n >\n <FileIcon\n className=\"ne-attachments__preview-wrapper__icon\"\n fileName={attachment.filename}\n />\n <Tooltip content={attachment.filename} position=\"top\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n </Tooltip>\n {isLoading && <Spinner className=\"attachment-button-loader\" />}\n </div>\n <Tooltip\n content={t(\"neetoEditor.attachments.actionsBlocked\")}\n disabled={!disabled}\n position=\"top\"\n >\n <DropdownMenu\n {...{ disabled }}\n // neeto-atoms's default rich trigger always appends a\n // ChevronDown as trailing icon. For an ellipsis \"more\n // actions\" button the ellipsis itself signals a menu —\n // use customTarget to render the icon-only button without\n // the redundant chevron.\n dropdownProps={{ className: \"ne-editor-dropdown\" }}\n customTarget={\n <Button\n {...{ disabled }}\n data-testid=\"neeto-editor-attachment-actions\"\n icon={EllipsisVertical}\n size=\"sm\"\n variant=\"ghost\"\n />\n }\n >\n <Menu>\n {Object.entries(handlers).map(([label, handler]) => (\n <MenuItem\n data-testid={`neeto-editor-preview-${label.toLowerCase()}-button`}\n key={label}\n onClick={() => onMenuItemClick({ key: label, handler })}\n >\n {label}\n </MenuItem>\n ))}\n </Menu>\n </DropdownMenu>\n </Tooltip>\n </>\n )}\n </div>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n style=\"danger\"\n submitButtonLabel={t(\"neetoEditor.menu.delete\")}\n title={t(\"neetoEditor.attachments.deleteTitle\")}\n message={\n <Trans\n i18nKey=\"neetoEditor.attachments.deleteConfirmation\"\n values={{ entity: newFilename }}\n />\n }\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default Attachment;\n","import { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { X } from \"lucide-react\";\n\nimport FileIcon from \"src/v2/components/Common/FileIcon\";\n\nconst AttachmentProgress = ({ attachment, cancelUpload }) => {\n const progressPercentage = `${attachment.progress ?? 0}%`;\n\n const handleCancel = () => {\n cancelUpload(attachment.id);\n };\n\n return (\n <div className=\"ne-attachments__preview\">\n <FileIcon\n className=\"ne-attachments__preview__progress-icon\"\n fileName={attachment.filename}\n />\n <div className=\"ne-attachments__preview__progress\">\n <Typography variant=\"body2\">{attachment.filename}</Typography>\n <Typography variant=\"body2\">{progressPercentage}</Typography>\n </div>\n <Button\n data-testid=\"neeto-editor-preview-upload-cancel-button\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={handleCancel}\n />\n </div>\n );\n};\n\nexport default AttachmentProgress;\n","import {\n forwardRef,\n useRef,\n useState,\n useImperativeHandle,\n lazy,\n Suspense,\n useMemo,\n memo,\n} from \"react\";\n\nimport { Button, Toastr } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"src/v2/hooks/useFileUploader\";\n\nimport Attachment from \"./Attachment\";\nimport AttachmentProgress from \"./AttachmentProgress\";\nimport { buildFileUploadConfig } from \"./utils\";\n\nconst Preview = lazy(() => import(\"./Preview\"));\n\nconst Attachments = (\n {\n attachments = [],\n className = \"\",\n onChange = noop,\n isIndependent = true,\n disabled = false,\n dragDropRef = null,\n config = {},\n setIsUploading = noop,\n allowDelete = true,\n allowOpenInNewTab = true,\n },\n ref\n) => {\n const { t } = useTranslation();\n\n const [selectedAttachment, setSelectedAttachment] = useState({});\n const [didFetchPreviewBundle, setDidFetchPreviewBundle] = useState(false);\n\n const attachmentInputRef = useRef(null);\n\n const fileUploadConfig = useMemo(\n () => buildFileUploadConfig(config),\n [config]\n );\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: fileUploadConfig,\n setIsUploadingOnHost: setIsUploading,\n attachments,\n });\n\n const handleAddFile = async event => {\n addFiles(event.target.files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n attachmentInputRef.current.value = null;\n };\n\n const handleUploadAttachments = () => attachmentInputRef.current.click();\n\n const handleFileInputClick = event => {\n if (!(!isEmpty(attachments) && fileUploadConfig.maxNumberOfFiles === 1)) {\n return;\n }\n event.preventDefault();\n Toastr.warning(t(\"neetoEditor.attachments.oneAttachmentAllowed\"));\n };\n\n useImperativeHandle(ref, () => ({ handleUploadAttachments }), []);\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n };\n\n useDropFiles({\n dropTargetRef: dragDropRef,\n attachments,\n onDrop: handleFilesDrop,\n });\n\n return (\n <div className={classnames(\"ne-attachments\", { [className]: className })}>\n <div className=\"ne-attachments__items\">\n {attachments.map(attachment => (\n <Attachment\n {...{\n allowDelete,\n allowOpenInNewTab,\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n }}\n key={attachment.signedId}\n isLoading={\n !didFetchPreviewBundle &&\n selectedAttachment.url === attachment.url\n }\n />\n ))}\n {queuedFiles.map(attachment => (\n <AttachmentProgress\n {...{ attachment, cancelUpload }}\n key={attachment.id}\n />\n ))}\n </div>\n <div>\n {isIndependent && (\n <Button\n data-testid=\"neeto-editor-attachments-upload-button\"\n disabled={isUploading}\n label={t(\"neetoEditor.attachments.add\")}\n loading={isUploading}\n variant=\"link\"\n onClick={handleUploadAttachments}\n />\n )}\n <input\n accept={fileUploadConfig.allowedFileTypes?.join(\",\")}\n multiple={fileUploadConfig.maxNumberOfFiles !== 1}\n ref={attachmentInputRef}\n type=\"file\"\n onChange={handleAddFile}\n onClick={handleFileInputClick}\n />\n <Suspense fallback={<span />}>\n {isPresent(selectedAttachment) && (\n <Preview\n {...{\n attachments,\n selectedAttachment,\n setDidFetchPreviewBundle,\n setSelectedAttachment,\n }}\n onClose={() => setSelectedAttachment({})}\n />\n )}\n </Suspense>\n </div>\n </div>\n );\n};\n\nAttachments.displayName = \"NeetoEditorAttachments\";\n\nexport default memo(forwardRef(Attachments));\n"],"names":["_regenerator","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","buildFileUploadConfig","config","mergeRight","DEFAULT_FILE_UPLOAD_CONFIG","downloadFile","_ref","_asyncToGenerator","_callee","fileUrl","filename","response","blob","blobUrl","_t","_context","fetch","URL","createObjectURL","document","createElement","href","setAttribute","style","display","body","appendChild","click","removeChild","revokeObjectURL","Toastr","error","_x","_x2","apply","arguments","checkPreviewAvailability","contentType","previewUrl","undefined","startsWith","Menu","DropdownMenu","MenuItem","Attachment","attachment","attachments","disabled","onChange","setSelectedAttachment","isLoading","allowDelete","allowOpenInNewTab","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isRenaming","setIsRenaming","_useState3","_useState4","isUpdating","setIsUpdating","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleting","setIsDeleting","_useState9","_useState0","newFilename","setNewFilename","renameRef","useRef","useOnClickOutside","handleDownload","url","handleOpenInNewTab","window","open","handleRename","_ref2","_response$data","signedId","payload","directUploadsApi","update","data","map","assoc","handleDelete","_ref3","_callee2","_t2","_context2","destroy","removeBy","handlers","_objectSpread","_defineProperty","ATTACHMENT_OPTIONS","OPEN_IN_NEW_TAB","DOWNLOAD","RENAME","DELETE","onMenuItemClick","_ref6","key","handler","handleKeyDown","_ref7","event","isEmpty","stopPropagation","preventDefault","_jsxs","_Fragment","children","_jsx","className","ref","Tooltip","content","position","Input","autoFocus","size","suffix","Button","icon","Check","loading","variant","onClick","X","withEventTargetValue","onKeyDown","FileIcon","fileName","Typography","Spinner","dropdownProps","customTarget","EllipsisVertical","entries","_ref8","_ref9","label","concat","toLowerCase","Alert","isOpen","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","onClose","onSubmit","AttachmentProgress","_attachment$progress","cancelUpload","progressPercentage","progress","handleCancel","id","Preview","lazy","Attachments","_fileUploadConfig$all","_ref$attachments","_ref$className","_ref$onChange","noop","_ref$isIndependent","isIndependent","_ref$disabled","_ref$dragDropRef","dragDropRef","_ref$config","_ref$setIsUploading","setIsUploading","_ref$allowDelete","_ref$allowOpenInNewTa","selectedAttachment","didFetchPreviewBundle","setDidFetchPreviewBundle","attachmentInputRef","fileUploadConfig","useMemo","_useFileUploader","useFileUploader","setIsUploadingOnHost","addFiles","uploadFiles","queuedFiles","isUploading","handleAddFile","uploadedFiles","target","files","isNotEmpty","_toConsumableArray","current","handleUploadAttachments","handleFileInputClick","maxNumberOfFiles","warning","useImperativeHandle","handleFilesDrop","useDropFiles","dropTargetRef","onDrop","classnames","_createElement","accept","allowedFileTypes","join","multiple","type","Suspense","fallback","isPresent","memo","forwardRef"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { i as isMarkdown, m as markdownToSlice, N as Node, F as Fragment, S as Slice } from './chunk-BpMZjml2.js';
3
- import { S as Selection } from './chunk-DN9pYQV5.js';
2
+ import { i as isMarkdown, m as markdownToSlice, N as Node, F as Fragment, S as Slice } from './chunk-C9H9LYpP.js';
3
+ import { S as Selection } from './chunk-DqSrbxqC.js';
4
4
  import { isNotEmpty } from '@bigbinary/neeto-cist';
5
5
  import { E as EDITOR_OPTIONS, A as ALL_PROTOCOL_URL_REGEXP } from './chunk-UwzgbfZD.js';
6
6
  import { I as IMAGE_REGEX, a as IMAGE_REPLACEMENT_PATTERN, E as EMPTY_DIV_REGEX, T as TRAILING_BR_REGEX, b as EDITOR_LINE_HEIGHT, c as EDITOR_PADDING_SIZE, d as EDITOR_BORDER_SIZE } from './chunk-CNIDH-FD.js';
@@ -98,4 +98,4 @@ var buildLevelsFromOptions = function buildLevelsFromOptions(options) {
98
98
  };
99
99
 
100
100
  export { isEmojiSuggestionsMenuActive as a, buildLevelsFromOptions as b, transformPastedHTML as c, clipboardTextParser as d, getEditorStyles as g, handlePaste as h, isEditorOverlaysActive as i, setInitialPosition as s, transformEditorContent as t, validateAndFormatUrl as v };
101
- //# sourceMappingURL=chunk-Br5h7rjn.js.map
101
+ //# sourceMappingURL=chunk-GA-wADEN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-Br5h7rjn.js","sources":["../app/javascript/src/components/Editor/utils.js"],"sourcesContent":["import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\nimport { isMarkdown, markdownToSlice } from \"src/utils/markdown\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context, plain, view) => {\n if (!plain && isMarkdown(text)) {\n return markdownToSlice(text, view.state.schema, context);\n }\n\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const handlePaste = (view, event, slice) => {\n try {\n view.state.tr.replaceSelection(slice);\n\n return false;\n } catch {\n const text =\n event.clipboardData?.getData(\"text/plain\") ||\n slice.content.textBetween(0, slice.content.size, \"\\n\").trim();\n if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n\n return true;\n }\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n"],"names":["getEditorStyles","_ref","rows","editorHeight","EDITOR_LINE_HEIGHT","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","concat","clipboardTextParser","text","context","plain","view","isMarkdown","markdownToSlice","state","schema","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","ALL_PROTOCOL_URL_REGEXP","test","transformEditorContent","_content$replaceAll","replaceAll","IMAGE_REGEX","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","replace","TRAILING_BR_REGEX","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","handlePaste","event","slice","replaceSelection","_unused","_event$clipboardData","clipboardData","getData","textBetween","size","trim","insertText","scrollIntoView","buildLevelsFromOptions","options","levels","_defineProperty","EDITOR_OPTIONS","H1","H2","H3","H4","H5","H6","Object","entries","filter","heading","includes","map"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-GA-wADEN.js","sources":["../app/javascript/src/components/Editor/utils.js"],"sourcesContent":["import { Slice, Fragment, Node } from \"@tiptap/pm/model\";\nimport { Selection } from \"@tiptap/pm/state\";\nimport { isNotEmpty } from \"neetocist\";\n\nimport { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"src/common/constants\";\nimport { isMarkdown, markdownToSlice } from \"src/utils/markdown\";\n\nimport {\n EDITOR_LINE_HEIGHT,\n EDITOR_BORDER_SIZE,\n EDITOR_PADDING_SIZE,\n IMAGE_REGEX,\n IMAGE_REPLACEMENT_PATTERN,\n EMPTY_DIV_REGEX,\n TRAILING_BR_REGEX,\n} from \"./constants\";\n\nexport const getEditorStyles = ({ rows }) => {\n const editorHeight =\n rows * EDITOR_LINE_HEIGHT + 2 * (EDITOR_PADDING_SIZE + EDITOR_BORDER_SIZE);\n\n return `min-height: ${editorHeight}px;`;\n};\n\nexport const clipboardTextParser = (text, context, plain, view) => {\n if (!plain && isMarkdown(text)) {\n return markdownToSlice(text, view.state.schema, context);\n }\n\n const nodes = [];\n const blocks = text.split(/\\n/);\n\n blocks.forEach(line => {\n const nodeJson = { type: \"paragraph\" };\n if (isNotEmpty(line)) {\n nodeJson.content = [{ type: \"text\", text: line }];\n }\n const node = Node.fromJSON(context.doc.type.schema, nodeJson);\n nodes.push(node);\n });\n\n const fragment = Fragment.fromArray(nodes);\n\n return Slice.maxOpen(fragment);\n};\n\nexport const setInitialPosition = editor => {\n const { state, view } = editor;\n const endPosition = Selection.atEnd(state.doc);\n const transaction = state.tr;\n transaction.setSelection(endPosition);\n view.dispatch(transaction);\n};\n\nexport const isEditorOverlaysActive = () =>\n document.querySelector(\n \".ne-media-uploader,.ne-embed-modal,.tippy-content,.ne-link-popover\"\n );\n\nexport const validateAndFormatUrl = url => {\n if (!ALL_PROTOCOL_URL_REGEXP.test(url)) {\n return null;\n }\n\n if (!/^[a-zA-Z]\\w*:/i.test(url)) {\n return `https://${url}`;\n }\n\n return url;\n};\n\nexport const transformEditorContent = content =>\n content\n ?.replaceAll(IMAGE_REGEX, IMAGE_REPLACEMENT_PATTERN)\n ?.replaceAll(EMPTY_DIV_REGEX, \"\")\n ?.replace(TRAILING_BR_REGEX, \"\");\n\nexport const isEmojiSuggestionsMenuActive = () =>\n !!document.querySelector(\".neeto-editor-emoji-suggestion\");\n\nexport const transformPastedHTML = content => {\n const contentWithoutBr = content.replaceAll(\"<br />\", \"<p></p>\");\n const doc = new DOMParser().parseFromString(contentWithoutBr, \"text/html\");\n\n // ProseMirror tags clipboard output from any TipTap/ProseMirror editor with\n // `data-pm-slice`. When present, the paste is coming from another\n // neeto-editor instance and we preserve the author's color choices. When\n // absent, the source is external (Word, websites, customer messages) and we\n // strip inline colors so foreign theming does not bleed into the editor.\n const isInternalPaste = doc.querySelector(\"[data-pm-slice]\") !== null;\n\n if (!isInternalPaste) {\n doc.querySelectorAll(\"[style]\").forEach(el => {\n el.style.color = \"\";\n el.style.backgroundColor = \"\";\n });\n }\n\n return doc.body.innerHTML;\n};\n\nexport const handlePaste = (view, event, slice) => {\n try {\n view.state.tr.replaceSelection(slice);\n\n return false;\n } catch {\n const text =\n event.clipboardData?.getData(\"text/plain\") ||\n slice.content.textBetween(0, slice.content.size, \"\\n\").trim();\n if (text) view.dispatch(view.state.tr.insertText(text).scrollIntoView());\n\n return true;\n }\n};\n\nexport const buildLevelsFromOptions = options => {\n const levels = {\n [EDITOR_OPTIONS.H1]: 1,\n [EDITOR_OPTIONS.H2]: 2,\n [EDITOR_OPTIONS.H3]: 3,\n [EDITOR_OPTIONS.H4]: 4,\n [EDITOR_OPTIONS.H5]: 5,\n [EDITOR_OPTIONS.H6]: 6,\n };\n\n return Object.entries(levels)\n .filter(heading => options.includes(heading[0]))\n .map(heading => heading[1]);\n};\n"],"names":["getEditorStyles","_ref","rows","editorHeight","EDITOR_LINE_HEIGHT","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","concat","clipboardTextParser","text","context","plain","view","isMarkdown","markdownToSlice","state","schema","nodes","blocks","split","forEach","line","nodeJson","type","isNotEmpty","content","node","Node","fromJSON","doc","push","fragment","Fragment","fromArray","Slice","maxOpen","setInitialPosition","editor","endPosition","Selection","atEnd","transaction","tr","setSelection","dispatch","isEditorOverlaysActive","document","querySelector","validateAndFormatUrl","url","ALL_PROTOCOL_URL_REGEXP","test","transformEditorContent","_content$replaceAll","replaceAll","IMAGE_REGEX","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","replace","TRAILING_BR_REGEX","isEmojiSuggestionsMenuActive","transformPastedHTML","contentWithoutBr","DOMParser","parseFromString","isInternalPaste","querySelectorAll","el","style","color","backgroundColor","body","innerHTML","handlePaste","event","slice","replaceSelection","_unused","_event$clipboardData","clipboardData","getData","textBetween","size","trim","insertText","scrollIntoView","buildLevelsFromOptions","options","levels","_defineProperty","EDITOR_OPTIONS","H1","H2","H3","H4","H5","H6","Object","entries","filter","heading","includes","map"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import { g as getDefaultExportFromCjs } from './chunk-BFTU3MAI.js';
3
3
  import { isNotPresent } from '@bigbinary/neeto-cist';
4
- import { e as NON_EMPTY_TAGS, E as EMPTY_TAGS_TO_REMOVE } from './chunk-BpMZjml2.js';
4
+ import { e as NON_EMPTY_TAGS, E as EMPTY_TAGS_TO_REMOVE } from './chunk-C9H9LYpP.js';
5
5
 
6
6
  var deepFreezeEs6 = {exports: {}};
7
7
 
@@ -16221,4 +16221,4 @@ var decodeHtmlEntities = function decodeHtmlEntities(text) {
16221
16221
  };
16222
16222
 
16223
16223
  export { CODE_BLOCK_REGEX as C, EDITOR_CONTENT_DEFAULT_CONFIGURATION as E, HighlightJS as H, LANGUAGE_LIST as L, SANITIZE_OPTIONS as S, VARIABLE_SPAN_REGEX as V, isEditorEmpty as a, EDITOR_CONTENT_CLASS_NAME as b, core as c, decodeHtmlEntities as d, isEditorContentWithinLimit as i, lowlight as l, removeEmptyTags as r };
16224
- //# sourceMappingURL=chunk-DfH1lF5p.js.map
16224
+ //# sourceMappingURL=chunk-LtUevT4I.js.map