@bigbinary/neeto-editor 1.47.83 → 1.47.85

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 (64) hide show
  1. package/dist/Attachments.js +3 -1
  2. package/dist/Attachments.js.map +1 -1
  3. package/dist/Editor.js +4 -1
  4. package/dist/Editor.js.map +1 -1
  5. package/dist/FormikEditor.js +2 -1
  6. package/dist/FormikEditor.js.map +1 -1
  7. package/dist/{chunk-DwCDGDWR.js → chunk-Ce_9AGLE.js} +102 -45
  8. package/dist/chunk-Ce_9AGLE.js.map +1 -0
  9. package/dist/{chunk-Cnu9vwgs.js → chunk-kmQw9kVc.js} +4 -2
  10. package/dist/{chunk-Cnu9vwgs.js.map → chunk-kmQw9kVc.js.map} +1 -1
  11. package/dist/cjs/Attachments.cjs.js +3 -1
  12. package/dist/cjs/Attachments.cjs.js.map +1 -1
  13. package/dist/cjs/Editor.cjs.js +4 -1
  14. package/dist/cjs/Editor.cjs.js.map +1 -1
  15. package/dist/cjs/FormikEditor.cjs.js +2 -1
  16. package/dist/cjs/FormikEditor.cjs.js.map +1 -1
  17. package/dist/cjs/{chunk-B2gYqWRO.cjs.js → chunk-C55HeN4C.cjs.js} +101 -44
  18. package/dist/cjs/chunk-C55HeN4C.cjs.js.map +1 -0
  19. package/dist/cjs/{chunk-DXgrw9IN.cjs.js → chunk-CfoukJwM.cjs.js} +4 -2
  20. package/dist/cjs/{chunk-DXgrw9IN.cjs.js.map → chunk-CfoukJwM.cjs.js.map} +1 -1
  21. package/dist/cjs/index.cjs.js +3 -2
  22. package/dist/cjs/index.cjs.js.map +1 -1
  23. package/dist/editor-stats.html +1 -1
  24. package/dist/index.js +3 -2
  25. package/dist/index.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/translations/ar.json +2 -1
  28. package/src/translations/bg.json +2 -1
  29. package/src/translations/ca.json +2 -1
  30. package/src/translations/cs.json +2 -1
  31. package/src/translations/da.json +2 -1
  32. package/src/translations/de.json +2 -1
  33. package/src/translations/en.json +2 -1
  34. package/src/translations/es-MX.json +2 -1
  35. package/src/translations/es.json +2 -1
  36. package/src/translations/et.json +2 -1
  37. package/src/translations/fi.json +2 -1
  38. package/src/translations/fil.json +2 -1
  39. package/src/translations/fr.json +2 -1
  40. package/src/translations/he.json +2 -1
  41. package/src/translations/hi.json +2 -1
  42. package/src/translations/hr.json +2 -1
  43. package/src/translations/id.json +2 -1
  44. package/src/translations/it.json +2 -1
  45. package/src/translations/ja.json +2 -1
  46. package/src/translations/ko.json +2 -1
  47. package/src/translations/nl.json +2 -1
  48. package/src/translations/pl.json +2 -1
  49. package/src/translations/pt-BR.json +2 -1
  50. package/src/translations/pt.json +2 -1
  51. package/src/translations/ro.json +2 -1
  52. package/src/translations/ru.json +2 -1
  53. package/src/translations/sk.json +2 -1
  54. package/src/translations/sl.json +2 -1
  55. package/src/translations/sv.json +2 -1
  56. package/src/translations/th.json +2 -1
  57. package/src/translations/tr.json +2 -1
  58. package/src/translations/uk.json +2 -1
  59. package/src/translations/vi.json +2 -1
  60. package/src/translations/zh-CN.json +2 -1
  61. package/src/translations/zh-TW.json +2 -1
  62. package/types.d.ts +1 -0
  63. package/dist/chunk-DwCDGDWR.js.map +0 -1
  64. package/dist/cjs/chunk-B2gYqWRO.cjs.js.map +0 -1
@@ -127,7 +127,8 @@ import '@bigbinary/neeto-icons/MergeSplit';
127
127
  import '@bigbinary/neeto-icons/ToggleHeaderRow';
128
128
  import '@bigbinary/neeto-icons/Edit';
129
129
  import '@bigbinary/neeto-icons/Articles';
130
- import './chunk-DwCDGDWR.js';
130
+ import './chunk-Ce_9AGLE.js';
131
+ import '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
131
132
  import '@bigbinary/neeto-icons/MenuVertical';
132
133
  import '@bigbinary/neetoui/Alert';
133
134
 
@@ -1 +1 @@
1
- {"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { path, pluck } from \"ramda\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => {\n // Similar to the `shouldComponentUpdate` logic of FastField component.\n // https://github.com/jaredpalmer/formik/blob/main/packages/formik/src/FastField.tsx#L75-L93\n // Additionally calls the shouldUpdate function passed from the host application and compares to\n // the rest of the values.\n const internalShouldUpdate = (prevProps, nextProps) => {\n const prevFormikProps = prevProps.formik;\n const nextFormikProps = nextProps.formik;\n\n const pathParts = name.split(\".\");\n const prevError = path(pathParts, prevFormikProps.errors);\n const nextError = path(pathParts, nextFormikProps.errors);\n const prevTouched = path(pathParts, prevFormikProps.touched);\n const nextTouched = path(pathParts, nextFormikProps.touched);\n const prevAttachments = pluck(\"signedId\", prevProps.attachments).join(\"|\");\n const nextAttachments = pluck(\"signedId\", nextProps.attachments).join(\"|\");\n\n return (\n prevError !== nextError ||\n prevTouched !== nextTouched ||\n Object.keys(nextProps).length !== Object.keys(prevProps).length ||\n prevFormikProps.isSubmitting !== nextFormikProps.isSubmitting ||\n prevAttachments !== nextAttachments ||\n Boolean(shouldUpdate?.(prevProps, nextProps))\n );\n };\n\n return (\n <FastField\n {...{ attachments, mentions, name, variables }}\n shouldUpdate={internalShouldUpdate}\n >\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => {\n form.setFieldTouched(name, true);\n }}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n );\n};\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","internalShouldUpdate","prevProps","nextProps","prevFormikProps","formik","nextFormikProps","pathParts","split","prevError","path","errors","nextError","prevTouched","touched","nextTouched","prevAttachments","pluck","join","nextAttachments","Object","keys","length","isSubmitting","Boolean","_jsx","FastField","children","_ref2","field","form","meta","Editor","_objectSpread","error","initialValue","value","onBlur","setFieldTouched","setFieldValue","displayName","memo","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\nimport { path, pluck } from \"ramda\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => {\n // Similar to the `shouldComponentUpdate` logic of FastField component.\n // https://github.com/jaredpalmer/formik/blob/main/packages/formik/src/FastField.tsx#L75-L93\n // Additionally calls the shouldUpdate function passed from the host application and compares to\n // the rest of the values.\n const internalShouldUpdate = (prevProps, nextProps) => {\n const prevFormikProps = prevProps.formik;\n const nextFormikProps = nextProps.formik;\n\n const pathParts = name.split(\".\");\n const prevError = path(pathParts, prevFormikProps.errors);\n const nextError = path(pathParts, nextFormikProps.errors);\n const prevTouched = path(pathParts, prevFormikProps.touched);\n const nextTouched = path(pathParts, nextFormikProps.touched);\n const prevAttachments = pluck(\"signedId\", prevProps.attachments).join(\"|\");\n const nextAttachments = pluck(\"signedId\", nextProps.attachments).join(\"|\");\n\n return (\n prevError !== nextError ||\n prevTouched !== nextTouched ||\n Object.keys(nextProps).length !== Object.keys(prevProps).length ||\n prevFormikProps.isSubmitting !== nextFormikProps.isSubmitting ||\n prevAttachments !== nextAttachments ||\n Boolean(shouldUpdate?.(prevProps, nextProps))\n );\n };\n\n return (\n <FastField\n {...{ attachments, mentions, name, variables }}\n shouldUpdate={internalShouldUpdate}\n >\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => {\n form.setFieldTouched(name, true);\n }}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n );\n};\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","internalShouldUpdate","prevProps","nextProps","prevFormikProps","formik","nextFormikProps","pathParts","split","prevError","path","errors","nextError","prevTouched","touched","nextTouched","prevAttachments","pluck","join","nextAttachments","Object","keys","length","isSubmitting","Boolean","_jsx","FastField","children","_ref2","field","form","meta","Editor","_objectSpread","error","initialValue","value","onBlur","setFieldTouched","setFieldValue","displayName","memo","forwardRef"],"mappings":"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"}
@@ -3,7 +3,7 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
3
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
4
4
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
5
  import _regeneratorRuntime from '@babel/runtime/regenerator';
6
- import { useState, memo, forwardRef, useRef, useMemo, useImperativeHandle, createElement, Suspense, lazy } from 'react';
6
+ import { useState, useRef, memo, forwardRef, useMemo, useImperativeHandle, createElement, Suspense, lazy } from 'react';
7
7
  import classnames from 'classnames';
8
8
  import { removeBy, isPresent, noop, isNotEmpty } from '@bigbinary/neeto-cist';
9
9
  import Button from '@bigbinary/neetoui/Button';
@@ -12,15 +12,18 @@ import { mergeRight, isEmpty, assoc } from 'ramda';
12
12
  import { useTranslation, Trans } from 'react-i18next';
13
13
  import { F as File, d as directUploadsApi, a as FileIcon, u as useFileUploader, b as useDropFiles } from './chunk-V3YZX4m4.js';
14
14
  import { n } from './chunk-DmrvuTKK.js';
15
+ import useOnClickOutside from '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
15
16
  import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
16
17
  import MenuVertical from '@bigbinary/neeto-icons/MenuVertical';
17
18
  import Close from '@bigbinary/neeto-icons/Close';
19
+ import Check from '@bigbinary/neeto-icons/Check';
18
20
  import Dropdown from '@bigbinary/neetoui/Dropdown';
19
21
  import Input from '@bigbinary/neetoui/Input';
20
22
  import Spinner from '@bigbinary/neetoui/Spinner';
21
23
  import Tooltip from '@bigbinary/neetoui/Tooltip';
22
24
  import Typography from '@bigbinary/neetoui/Typography';
23
25
  import Alert from '@bigbinary/neetoui/Alert';
26
+ import { t } from 'i18next';
24
27
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
25
28
  import { D as DIRECT_UPLOAD_ENDPOINT } from './chunk-DNMH2cJJ.js';
26
29
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
@@ -35,29 +38,56 @@ var DEFAULT_FILE_UPLOAD_CONFIG = {
35
38
  }
36
39
  };
37
40
  var ATTACHMENT_OPTIONS = {
38
- DOWNLOAD: "Download",
39
- RENAME: "Rename",
40
- DELETE: "Delete"
41
+ OPEN_IN_NEW_TAB: t("neetoEditor.common.openInNewTab"),
42
+ DOWNLOAD: t("neetoEditor.common.download"),
43
+ RENAME: t("neetoEditor.attachments.rename"),
44
+ DELETE: t("neetoEditor.menu.delete")
41
45
  };
42
46
  var ATTACHMENTS_PREVIEW_DATA_CY = "ne-attachments-preview-content";
43
47
 
44
48
  var buildFileUploadConfig = function buildFileUploadConfig(config) {
45
49
  return mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);
46
50
  };
47
- var downloadFile = function downloadFile(fileUrl, filename) {
48
- try {
49
- var a = document.createElement("a");
50
- a.href = fileUrl;
51
- a.setAttribute("download", filename);
52
- a.setAttribute("target", "_blank");
53
- a.style.display = "none";
54
- document.body.appendChild(a);
55
- a.click();
56
- document.body.removeChild(a);
57
- } catch (error) {
58
- Toastr.error(error);
59
- }
60
- };
51
+ var downloadFile = /*#__PURE__*/function () {
52
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(fileUrl, filename) {
53
+ var response, blob, blobUrl, a;
54
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
55
+ while (1) switch (_context.prev = _context.next) {
56
+ case 0:
57
+ _context.prev = 0;
58
+ _context.next = 3;
59
+ return fetch(fileUrl);
60
+ case 3:
61
+ response = _context.sent;
62
+ _context.next = 6;
63
+ return response.blob();
64
+ case 6:
65
+ blob = _context.sent;
66
+ blobUrl = URL.createObjectURL(blob);
67
+ a = document.createElement("a");
68
+ a.href = blobUrl;
69
+ a.setAttribute("download", filename);
70
+ a.style.display = "none";
71
+ document.body.appendChild(a);
72
+ a.click();
73
+ document.body.removeChild(a);
74
+ URL.revokeObjectURL(blobUrl);
75
+ _context.next = 21;
76
+ break;
77
+ case 18:
78
+ _context.prev = 18;
79
+ _context.t0 = _context["catch"](0);
80
+ Toastr.error(_context.t0);
81
+ case 21:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee, null, [[0, 18]]);
86
+ }));
87
+ return function downloadFile(_x, _x2) {
88
+ return _ref.apply(this, arguments);
89
+ };
90
+ }();
61
91
  var checkPreviewAvailability = function checkPreviewAvailability(contentType) {
62
92
  return contentType && (contentType.startsWith("video/") || contentType === "application/pdf" || contentType === "image/jpeg" || contentType === "image/gif" || contentType === "image/png" || contentType === "image/webp" || contentType === "text/plain" || contentType === "image/bmp" || contentType === "application/msword" || contentType === "application/vnd.openxmlformats-officedocument.wordprocessingml.document" || contentType === "image/jpg" || contentType === "application/vnd.ms-powerpoint" || contentType === "application/vnd.openxmlformats-officedocument.presentationml.presentation" || contentType === "image/tiff" || contentType === "application/vnd.ms-excel" || contentType === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
63
93
  };
@@ -73,7 +103,8 @@ var Attachment = function Attachment(_ref) {
73
103
  onChange = _ref.onChange,
74
104
  setSelectedAttachment = _ref.setSelectedAttachment,
75
105
  isLoading = _ref.isLoading,
76
- allowDelete = _ref.allowDelete;
106
+ allowDelete = _ref.allowDelete,
107
+ allowOpenInNewTab = _ref.allowOpenInNewTab;
77
108
  var _useTranslation = useTranslation(),
78
109
  t = _useTranslation.t;
79
110
  var _useState = useState(false),
@@ -96,9 +127,18 @@ var Attachment = function Attachment(_ref) {
96
127
  _useState10 = _slicedToArray(_useState9, 2),
97
128
  newFilename = _useState10[0],
98
129
  setNewFilename = _useState10[1];
130
+ var renameRef = useRef(null);
131
+ useOnClickOutside(renameRef, function () {
132
+ if (!isRenaming) return;
133
+ setIsRenaming(false);
134
+ setNewFilename("");
135
+ });
99
136
  var handleDownload = function handleDownload() {
100
137
  return downloadFile(attachment.url, attachment.filename);
101
138
  };
139
+ var handleOpenInNewTab = function handleOpenInNewTab() {
140
+ return window.open(attachment.url, "_blank", "noopener,noreferrer");
141
+ };
102
142
  var handleRename = /*#__PURE__*/function () {
103
143
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
104
144
  var _response$data, signedId, payload, response, filename;
@@ -183,10 +223,10 @@ var Attachment = function Attachment(_ref) {
183
223
  return _ref3.apply(this, arguments);
184
224
  };
185
225
  }();
186
- var handlers = _objectSpread(_defineProperty(_defineProperty({}, ATTACHMENT_OPTIONS.DOWNLOAD, handleDownload), ATTACHMENT_OPTIONS.RENAME, handleRename), allowDelete && _defineProperty({}, ATTACHMENT_OPTIONS.DELETE, handleDelete));
187
- var onMenuItemClick = function onMenuItemClick(_ref5) {
188
- var key = _ref5.key,
189
- handler = _ref5.handler;
226
+ var handlers = _objectSpread(_objectSpread({}, allowOpenInNewTab && _defineProperty({}, ATTACHMENT_OPTIONS.OPEN_IN_NEW_TAB, handleOpenInNewTab)), {}, _defineProperty(_defineProperty({}, ATTACHMENT_OPTIONS.DOWNLOAD, handleDownload), ATTACHMENT_OPTIONS.RENAME, handleRename), allowDelete && _defineProperty({}, ATTACHMENT_OPTIONS.DELETE, handleDelete));
227
+ var onMenuItemClick = function onMenuItemClick(_ref6) {
228
+ var key = _ref6.key,
229
+ handler = _ref6.handler;
190
230
  if (key === ATTACHMENT_OPTIONS.RENAME) {
191
231
  setIsRenaming(true);
192
232
  setNewFilename(attachment.filename);
@@ -197,9 +237,9 @@ var Attachment = function Attachment(_ref) {
197
237
  handler();
198
238
  }
199
239
  };
200
- var handleKeyDown = function handleKeyDown(_ref6) {
201
- var event = _ref6.event,
202
- key = _ref6.key;
240
+ var handleKeyDown = function handleKeyDown(_ref7) {
241
+ var event = _ref7.event,
242
+ key = _ref7.key;
203
243
  var handler = handlers[key];
204
244
  if (event.key === "Enter" && handler && !isEmpty(newFilename)) {
205
245
  event.stopPropagation();
@@ -215,8 +255,9 @@ var Attachment = function Attachment(_ref) {
215
255
  children: [/*#__PURE__*/jsx("div", {
216
256
  className: "ne-attachments__preview",
217
257
  "data-testid": "ne-attachments-wrapper",
218
- children: isRenaming ? /*#__PURE__*/jsxs(Fragment, {
219
- children: [/*#__PURE__*/jsx(Tooltip, {
258
+ children: isRenaming ? /*#__PURE__*/jsx("div", {
259
+ ref: renameRef,
260
+ children: /*#__PURE__*/jsx(Tooltip, {
220
261
  content: newFilename,
221
262
  position: "top",
222
263
  children: /*#__PURE__*/jsx(Input, {
@@ -225,6 +266,28 @@ var Attachment = function Attachment(_ref) {
225
266
  size: "small",
226
267
  value: newFilename,
227
268
  error: isEmpty(newFilename) ? t("neetoEditor.attachments.nameEmpty") : "",
269
+ suffix: /*#__PURE__*/jsxs("div", {
270
+ className: "flex items-center justify-end",
271
+ children: [/*#__PURE__*/jsx(Button, {
272
+ "data-testid": "neeto-editor-preview-rename-submit-button",
273
+ disabled: isEmpty(newFilename) || isUpdating,
274
+ icon: Check,
275
+ loading: isUpdating,
276
+ size: "small",
277
+ style: "text",
278
+ onClick: handleRename
279
+ }), /*#__PURE__*/jsx(Button, {
280
+ "data-testid": "neeto-editor-preview-rename-cancel-button",
281
+ disabled: isUpdating,
282
+ icon: Close,
283
+ size: "small",
284
+ style: "text",
285
+ onClick: function onClick() {
286
+ setIsRenaming(false);
287
+ setNewFilename("");
288
+ }
289
+ })]
290
+ }),
228
291
  onChange: withEventTargetValue(setNewFilename),
229
292
  onKeyDown: function onKeyDown(event) {
230
293
  return handleKeyDown({
@@ -233,16 +296,7 @@ var Attachment = function Attachment(_ref) {
233
296
  });
234
297
  }
235
298
  })
236
- }), /*#__PURE__*/jsx(Button, {
237
- "data-testid": "neeto-editor-preview-rename-cancel-button",
238
- icon: Close,
239
- loading: isUpdating,
240
- size: "small",
241
- style: "text",
242
- onClick: function onClick() {
243
- return setIsRenaming(false);
244
- }
245
- })]
299
+ })
246
300
  }) : /*#__PURE__*/jsxs(Fragment, {
247
301
  children: [/*#__PURE__*/jsxs("div", {
248
302
  className: "ne-attachments__preview-wrapper",
@@ -272,10 +326,10 @@ var Attachment = function Attachment(_ref) {
272
326
  buttonStyle: "text",
273
327
  icon: MenuVertical,
274
328
  children: /*#__PURE__*/jsx(Menu, {
275
- children: Object.entries(handlers).map(function (_ref7) {
276
- var _ref8 = _slicedToArray(_ref7, 2),
277
- label = _ref8[0],
278
- handler = _ref8[1];
329
+ children: Object.entries(handlers).map(function (_ref8) {
330
+ var _ref9 = _slicedToArray(_ref8, 2),
331
+ label = _ref9[0],
332
+ handler = _ref9[1];
279
333
  return /*#__PURE__*/jsx(MenuItem.Button, {
280
334
  "data-testid": "neeto-editor-preview-".concat(label.toLowerCase(), "-button"),
281
335
  onClick: function onClick() {
@@ -343,7 +397,7 @@ var AttachmentProgress = function AttachmentProgress(_ref) {
343
397
  };
344
398
 
345
399
  var Preview = /*#__PURE__*/lazy(function () {
346
- return import('./chunk-Cnu9vwgs.js');
400
+ return import('./chunk-kmQw9kVc.js');
347
401
  });
348
402
  var Attachments = function Attachments(_ref, ref) {
349
403
  var _fileUploadConfig$all;
@@ -364,7 +418,9 @@ var Attachments = function Attachments(_ref, ref) {
364
418
  _ref$setIsUploading = _ref.setIsUploading,
365
419
  setIsUploading = _ref$setIsUploading === void 0 ? noop : _ref$setIsUploading,
366
420
  _ref$allowDelete = _ref.allowDelete,
367
- allowDelete = _ref$allowDelete === void 0 ? true : _ref$allowDelete;
421
+ allowDelete = _ref$allowDelete === void 0 ? true : _ref$allowDelete,
422
+ _ref$allowOpenInNewTa = _ref.allowOpenInNewTab,
423
+ allowOpenInNewTab = _ref$allowOpenInNewTa === void 0 ? true : _ref$allowOpenInNewTa;
368
424
  var _useTranslation = useTranslation(),
369
425
  t = _useTranslation.t;
370
426
  var _useState = useState({}),
@@ -461,6 +517,7 @@ var Attachments = function Attachments(_ref, ref) {
461
517
  children: [attachments.map(function (attachment) {
462
518
  return /*#__PURE__*/createElement(Attachment, {
463
519
  allowDelete: allowDelete,
520
+ allowOpenInNewTab: allowOpenInNewTab,
464
521
  attachment: attachment,
465
522
  attachments: attachments,
466
523
  disabled: disabled,
@@ -511,4 +568,4 @@ Attachments.displayName = "NeetoEditorAttachments";
511
568
  var Attachments$1 = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(Attachments));
512
569
 
513
570
  export { Attachments$1 as A, ATTACHMENTS_PREVIEW_DATA_CY as a, checkPreviewAvailability as c, downloadFile as d };
514
- //# sourceMappingURL=chunk-DwCDGDWR.js.map
571
+ //# sourceMappingURL=chunk-Ce_9AGLE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-Ce_9AGLE.js","sources":["../src/components/Attachments/constants.js","../src/components/Attachments/utils.js","../src/components/Attachments/Attachment.jsx","../src/components/Attachments/AttachmentProgress.jsx","../src/components/Attachments/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\n\nexport const DEFAULT_FILE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n },\n};\n\nexport const ATTACHMENT_OPTIONS = {\n OPEN_IN_NEW_TAB: t(\"neetoEditor.common.openInNewTab\"),\n DOWNLOAD: t(\"neetoEditor.common.download\"),\n RENAME: t(\"neetoEditor.attachments.rename\"),\n DELETE: t(\"neetoEditor.menu.delete\"),\n};\n\nexport const ATTACHMENTS_PREVIEW_DATA_CY = \"ne-attachments-preview-content\";\n","import { Toastr } from \"neetoui\";\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 =>\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 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 { removeBy } from \"neetocist\";\nimport useOnClickOutside from \"neetocommons/react-utils/useOnClickOutside\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { MenuVertical, Close, Check } from \"neetoicons\";\nimport {\n Dropdown,\n Input,\n Spinner,\n Toastr,\n Tooltip,\n Typography,\n Button,\n Alert,\n} from \"neetoui\";\nimport { isEmpty, assoc } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\n\nimport { ATTACHMENT_OPTIONS } from \"./constants\";\nimport { downloadFile } from \"./utils\";\n\nimport FileIcon from \"../Common/FileIcon\";\n\nconst { Menu, MenuItem } = Dropdown;\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=\"small\"\n style=\"text\"\n onClick={handleRename}\n />\n <Button\n data-testid=\"neeto-editor-preview-rename-cancel-button\"\n disabled={isUpdating}\n icon={Close}\n size=\"small\"\n style=\"text\"\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 style=\"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 <Dropdown\n {...{ disabled }}\n buttonSize=\"small\"\n buttonStyle=\"text\"\n icon={MenuVertical}\n >\n <Menu>\n {Object.entries(handlers).map(([label, handler]) => (\n <MenuItem.Button\n data-testid={`neeto-editor-preview-${label.toLowerCase()}-button`}\n key={label}\n onClick={() => onMenuItemClick({ key: label, handler })}\n >\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </Tooltip>\n </>\n )}\n </div>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\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 { Close } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { FileIcon } from \"react-file-icon\";\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 <div className=\"ne-attachments__preview__progress-icon\">\n <FileIcon />\n </div>\n <div className=\"ne-attachments__preview__progress\">\n <Typography style=\"body2\">{attachment.filename}</Typography>\n <Typography style=\"body2\">{progressPercentage}</Typography>\n </div>\n <Button\n data-testid=\"neeto-editor-preview-upload-cancel-button\"\n icon={Close}\n size=\"small\"\n style=\"text\"\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 classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { Button, Toastr } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"hooks/useFileUploader\";\nimport \"src/styles/components/attachments.scss\";\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 size=\"medium\"\n style=\"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":["DEFAULT_FILE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxFileSize","globalProps","endUserUploadedFileSizeLimitInMb","ATTACHMENT_OPTIONS","OPEN_IN_NEW_TAB","t","DOWNLOAD","RENAME","DELETE","ATTACHMENTS_PREVIEW_DATA_CY","buildFileUploadConfig","config","mergeRight","downloadFile","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fileUrl","filename","response","blob","blobUrl","a","wrap","_callee$","_context","prev","next","fetch","sent","URL","createObjectURL","document","createElement","href","setAttribute","style","display","body","appendChild","click","removeChild","revokeObjectURL","t0","Toastr","error","stop","_x","_x2","apply","arguments","checkPreviewAvailability","contentType","startsWith","Menu","Dropdown","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","_useState10","newFilename","setNewFilename","renameRef","useRef","useOnClickOutside","handleDownload","url","handleOpenInNewTab","window","open","handleRename","_ref2","_response$data","signedId","payload","directUploadsApi","update","data","map","assoc","finish","handleDelete","_ref3","_callee2","_callee2$","_context2","abrupt","destroy","removeBy","handlers","_objectSpread","_defineProperty","onMenuItemClick","_ref6","key","handler","handleKeyDown","_ref7","event","isEmpty","stopPropagation","preventDefault","_jsxs","_Fragment","children","_jsx","className","ref","Tooltip","content","position","Input","autoFocus","size","value","suffix","Button","icon","Check","loading","onClick","Close","withEventTargetValue","onKeyDown","FileIcon","fileName","Typography","Spinner","buttonSize","buttonStyle","MenuVertical","Object","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","displayName","memo","forwardRef"],"mappings":"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"}
@@ -27,7 +27,7 @@ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
27
27
  import _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';
28
28
  import _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';
29
29
  import { useTranslation, Trans } from 'react-i18next';
30
- import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-DwCDGDWR.js';
30
+ import { d as downloadFile, c as checkPreviewAvailability, a as ATTACHMENTS_PREVIEW_DATA_CY } from './chunk-Ce_9AGLE.js';
31
31
  import { jsxs, jsx } from 'react/jsx-runtime';
32
32
  import '@babel/runtime/helpers/toConsumableArray';
33
33
  import '@babel/runtime/helpers/slicedToArray';
@@ -59,9 +59,11 @@ import 'yup';
59
59
  import './chunk-DNMH2cJJ.js';
60
60
  import 'classnames';
61
61
  import './chunk-DmrvuTKK.js';
62
+ import '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
62
63
  import '@bigbinary/neeto-commons-frontend/utils';
63
64
  import '@bigbinary/neeto-icons/MenuVertical';
64
65
  import '@bigbinary/neeto-icons/Close';
66
+ import '@bigbinary/neeto-icons/Check';
65
67
  import '@bigbinary/neetoui/Dropdown';
66
68
  import '@bigbinary/neetoui/Input';
67
69
  import '@bigbinary/neetoui/Spinner';
@@ -69022,4 +69024,4 @@ var Preview = function Preview(_ref) {
69022
69024
  };
69023
69025
 
69024
69026
  export { Preview as default };
69025
- //# sourceMappingURL=chunk-Cnu9vwgs.js.map
69027
+ //# sourceMappingURL=chunk-kmQw9kVc.js.map